需要显示未找到的目录图像而不是magento中的占位符

时间:2012-12-03 07:44:33

标签: magento placeholder

我遇到了问题。我正在使用另一台服务器进行图片上传。让我先说明这个问题。

当我从媒体文件夹手动删除图像时,现在显示占位符图像。

首先

  

目录/产品/高速缓存/ 1 /图像/ 9df78eab33525d08d6e5fb8d27136e95 / C / O /控制栏 - 白 - small.jpg

手动删除图像后

  

目录/产品/高速缓存/ 1 /图像/ 9df78eab33525d08d6e5fb8d27136e95 /图像/目录/产品/占位符/ image.jpg的

我的要求是我的商店仍应提取与删除前相同的图片网址,因为数据库中的图片路径仍然存在。

请帮忙。

2 个答案:

答案 0 :(得分:0)

这是一个核心magento行为,因此没有图像的产品将显示占位符而不是损坏的图像,因此除非您在app / code / core / Mage / Catalog / Model /中对核心图像/帮助器进行了大量更改Product / Image.php唯一的另一种方法是更改​​占位符。

您是否考虑过只更改占位符图片?

在管理员中,在系统>下;配置>目录>产品图片占位符,您可以上传新文件。

  

core_config_data表

答案 1 :(得分:0)

我已经解决了我的问题。我提到了解决方案。

转到OnePica_ImageCDN-1.0.9 \ OnePica \ ImageCdn \ Model \ Adapter \ Amazons3.php

替换此

公共函数getUrl($ filename)

{

    $type = Mage::app()->getStore()->isCurrentlySecure() ? 'url_base_secure' : 'url_base';

    $base_url = Mage::getStoreConfig('imagecdn/amazons3/' . $type);

    $filename = $base_url . $this->getRelative($filename);

    return str_replace('\\', '/', $filename);

}

通过

公共函数getUrl($ filename)

{

 $type = Mage::app()->getStore()->isCurrentlySecure() ? 'url_base_secure' : 'url_base';

 $base_url = Mage::getStoreConfig('imagecdn/amazons3/' . $type);


    $product = Mage::registry('current_product');

    $productId = $product->getId();

    $resource = Mage::getSingleton('core/resource')->getConnection('core_write');

    $imageName = $resource->fetchOne("select value from catalog_product_entity_varchar where attribute_id=86 && entity_id = ".$productId);

    $filename = $base_url . $this->getRelative($filename);

    $filename = substr($filename, 0, -22);

    $filename = $filename.$imageName;

    return str_replace('\\', '/', $filename);
}