我遇到了一个问题。我正在使用另一台服务器上传图像。让我先详细谈谈这个问题。
当我从媒体文件夹中手动删除图像时,现在显示占位符图像。
最初
目录/产品/缓存/1/图像/9df78eab33525d08d6e5fb8d27136e95/c/o/controlbar-white-small.jpg
手动删除图像后
目录/产品/缓存/1/图像/我的9df78eab33525d08d6e5fb8d27136e95/images/catalog/product/占位符/图像.jpg
要求是我的商店仍然应该获取与删除前相同的图像 URL,因为数据库中的图像路径仍然存在。
请帮忙。
这是一个核心 magento 行为,因此没有图像的产品将显示占位符而不是损坏的图像,因此除非您在应用程序/代码/核心/Mage/目录/模型/产品/图像中对核心图像/助手进行大量更改.php否则唯一的其他方法是更改占位符。
您是否考虑过仅更改占位符图像?
在"管理"中的"系统>配置">"目录">"产品图像占位符"下,您可以上传新文件。
core_config_data表
我已经解决了我的问题。我指的是解决方案。
转到 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);
}