【问题标题】:Get Server Path of an Image by Product ID - Magento 1.8按产品 ID 获取图像的服务器路径 - Magento 1.8
【发布时间】:2016-10-29 14:55:39
【问题描述】:

我在同一台服务器上有一个 CI 项目和一个 Magento 项目。

我想定期将 Magento 产品导入我的 CI 网站。

一切都运行良好,我目前能够将每个东西从 Magento 导入我的 CI 网站。

但是,如何获取 magento 产品图像的物理/服务器路径?我想将这些图像文件复制到我的 CI 项目中。

这是我正在加载产品的相关行

$product = $simpleProduct->getData()

这是我得到的与图像相关的部分。查看file 键,它不是实际的服务器路径。

 "media_gallery":{  
     "images":[  
        {  
           "value_id":"6",
           "file":"\/2\/-\/2-2.jpg",
           "label":"",
           "position":"1",
           "disabled":"0",
           "label_default":null,
           "position_default":"1",
           "disabled_default":"0"
        },
        {  
           "value_id":"5",
           "file":"\/2\/_\/2.jpg",
           "label":"",
           "position":"2",
           "disabled":"0",
           "label_default":null,
           "position_default":"2",
           "disabled_default":"0"
        }
     ],
     "values":[  

     ]
  },

附言 我不想要这样的图像的浏览器路径http://www.website/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/2/-/image_name_here.jpg

我想要服务器路径。

【问题讨论】:

  • 1codeigniter` 或 magento?
  • 正如我所说 Magento 和 CI 项目在同一台服务器上,所以是的,我可以访问 Magento ...正如您所见,我正在使用`$simpleProduct->getData()` 来加载产品.. . 因此我需要 Magento 中的解决方案 ...
  • 我已经使用require_once("../app/Mage.php");初始化了magento

标签: php codeigniter magento


【解决方案1】:

您好,您可以使用此代码获取此信息 用于缓存图像

foreach ($_product->getMediaGalleryImages() as $image) {
        echo Mage::helper('catalog/image')->init($product, 'image', $image->getFile());
    }

对于没有缓存的原始图片

foreach ($_product->getMediaGalleryImages() as $image) {

        echo Mage::getUrl('media').'catalog/'.'product'.$image->getFile().'<br>';
    }

【讨论】:

  • 我猜它只返回 1 张图片。我想要产品的所有图片
【解决方案2】:

我制作的一个脚本,它使用它的 sku 提取有关产品的信息:

<?php
if(isset($_GET['productId']))
{
getImage($_GET['productId']);
}
else{
    header('HTTP/1.0 404 Not Found', true, 404);
    echo "404 Not found";
    die();
}
function getImage($product)
{
    @ob_start();
    @session_start();

    //for order update
    include 'app/Mage.php';
    Mage::app('default');
    $product_id = Mage::getModel("catalog/product")->getIdBySku( $product );
    $cProduct = Mage::getModel('catalog/product');
    $cProduct->load($product_id);
    $productInfo = Array(
    'name' => $cProduct->getImageUrl(),
    'url' => $cProduct->getUrlPath(),
    'prodId' => $product_id,
    'prodName' => $cProduct->getName(),
    'prodPrice' => round($cProduct->getFinalPrice(),2),
    'currency' => Mage::app()->getLocale()->currency(Mage::app()->getStore()->getCurrentCurrencyCode())->getSymbol()
    ); 
    echo json_encode($productInfo); 
}


?>

但是,它只会为您获取图片的基本网址,而不是所有内容

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多