我在同一台服务器上有一个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":[
]
},
PS 我不想要这样的图像的浏览器路径http://www.website/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/2/-/image_name_here.jpg
我想要服务器路径。
答案 0 :(得分: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 :(得分:0)
我制作的脚本使用其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);
}
?>
然而,它只会获取图像的基本网址而不是所有内容