我在System - >的后端设置了产品占位符图像。配置 - >目录 - >产品图像占位符
我可以使用以下代码在我的一个视图中以编程方式半成功访问产品占位符图像:
$this->getSkinUrl($this->helper('catalog/image')->init(
Mage::getModel('catalog/product'), 'small_image'));
我的问题是以上回复:
http://x.dev/skin/frontend/base/default/http://x.dev/media/catalog/product/cache/7/small_image/0dc2d03fe217f8c83829496872af24a0/placeholder/default/logo_4.jpg*
似乎getSkinUrl执行了它所说的并添加了字符串的皮肤路径,这是我的真正的问题,以解决我认为我会删除getSkinUrl的问题:
$this->helper('catalog/image')->init(
Mage::getModel('catalog/product'), 'small_image');
但上面的代码抛出:
PHP Fatal error: Allowed memory size of 268435456 bytes exhausted
任何人都可以看到这个问题,我似乎做得越来越少,似乎陷入了困境。
或者有人知道另一种方法吗?我真的被卡住了,我真的不想硬编码。
由于
答案 0 :(得分:12)
非常感谢@Lucasmus让我走上正轨。
我最终以一种黑客的方式解决了这个问题,但它确实有效。
Mage::getModel('catalog/product')->getSmallImageUrl(200,200);
这将为您提供系统中设置的产品占位符图像 - >配置 - >目录 - >产品图像占位符
修改强>
正如@Tyler V指出这是一个折旧的方法,如果你不想使用它,你可以使用相同的方法逻辑,它有点冗长:
(string)Mage::helper('catalog/image')->init(
Mage::getModel('catalog/product'),
'small_image'
)->resize(200, 200);