我有以下代码:
$cProduct = Mage::getModel("catalog/product");
foreach($products_id as $product_id) {
$product = $cProduct->load($product_id);
//$products_image[] = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).str_replace(Mage::getBaseUrl('media'),"", $product);
//$products_image[] = $product->getMediaConfig()->getMediaUrl($_product->getData('image'));
$products_image[] = $product->getImageUrl(); //product's image url
}
正如您所看到的,我已经尝试了几种方法来获取原始图像网址。目前我正在使用getImageUrl(),但它检索基本图像,这是一个裁剪版本。如何检索原始图像??
提前致谢。
编辑: 严重看来没有它的功能,谷歌搜索几个小时(也在发布之前)。所以我写了自己的功能。
function get_original_image_url($base_image_url) {
$exploded = explode("/", $base_image_url);
$image_name = $exploded[count($exploded) - 1];
$original_image_url = "http://yoursitehere.com/media/catalog/product/" . $image_name[0] . "/" .
$image_name[1] . "/" . $image_name;
return $original_image_url;
}
我称之为:
$original = get_original_image_url($product->getImageUrl());
适合我,虽然这不是一个很好的方法。
答案 0 :(得分:31)
您应该使用目录产品媒体配置模型来实现此目的。
<?php
//your code ...
echo Mage::getModel('catalog/product_media_config')
->getMediaUrl( $product->getImage() ); //getSmallImage(), getThumbnail()
希望这有帮助。
答案 1 :(得分:2)
其他更快的方法:
$cProduct = Mage::getModel("catalog/product");
$baseUrl = Mage::getBaseUrl('media') . 'catalog/product/';
foreach($products_id as $product_id) {
$product = $cProduct->load($product_id);
$products_image[] = $baseUrl . $product->getImage();
}