2

我陷入了一个问题。我正在使用另一台服务器进行图像上传。让我先详细说明一下这个问题。

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

最初

目录/产品/缓存/1/image/9df78eab33525d08d6e5fb8d27136e95/c/o/controlbar-white-small.jpg

手动删除图像后

目录/产品/缓存/1/image/9df78eab33525d08d6e5fb8d27136e95/images/catalog/product/placeholder/image.jpg

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

请帮忙。

4

2 回答 2

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);
} 
于 2012-12-05T05:51:38.223 回答
0

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

您是否考虑过仅更改占位符图像?

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

core_config_data 表

于 2012-12-03T11:02:33.103 回答