【问题标题】:Get original image url Magento (1.6.1.0)获取原始图片 url Magento (1.6.1.0)
【发布时间】:2012-01-07 11:15:42
【问题描述】:

我有以下代码:

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

对我有用,虽然这不是一个好方法。

【问题讨论】:

    标签: magento


    【解决方案1】:

    您应该为此使用目录产品媒体配置模型。

    <?php
    
    //your code ...
    
    echo Mage::getModel('catalog/product_media_config')
                ->getMediaUrl( $product->getImage() ); //getSmallImage(), getThumbnail()
    

    希望这会有所帮助。

    【讨论】:

    • 谢谢,它有效。唯一的问题是,如果图像不存在,它将不会显示占位符图像。有什么解决办法吗?
    • 占位符逻辑是catalog/image helper 的一部分。
    【解决方案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();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-11
      • 1970-01-01
      • 2018-02-09
      • 2012-11-28
      • 1970-01-01
      • 2010-10-21
      • 2015-03-23
      • 1970-01-01
      相关资源
      最近更新 更多