获取原始图片网址Magento(1.6.1.0)

时间:2011-11-27 19:26:08

标签: magento

我有以下代码:

$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());

适合我,虽然这不是一个很好的方法。

2 个答案:

答案 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();
}