我想在自定义模板中加载产品基础图像(主图像)。
当我使用$this->helper('catalog/image')->init($_product, 'small_image')
时,它完美无缺。
但基本图像显示占位符。
有人可以帮助我吗?
答案 0 :(得分:1)
基本图像无法在产品列表中显示,因为它未加载到列表中
对于任何其他属性,这将是一项简单的任务,只需在后端编辑属性并将“在产品列表中使用”标记设置为是。
但是,遗憾的是,由于某些原因我仍然不知道,你不能为图像属性做到这一点
您必须在db中手动执行此操作。 (是的,我已经说过了......手动修改数据库,反对所有不说的规则)
首先,您需要确定基本图像属性。
select *
from
eav_attribute
where
attribute_code = 'image' and
entity_type_id IN
(select
entity_type_id
from
eav_entity_type
where
entity_type_code = 'catalog_product'
)
这应该让你排成一排。从结果中获取id列(对我来说是85
)并运行以下查询,该查询将设置产品列表中使用的属性。
update
catalog_eav_attribute
set
used_in_product_listing = 1
where
attribute_id = 85
将85
替换为您从第一个选择中获得的值,然后从System->Index Management
重建索引。
现在,您应该能够成功调用以下代码。
$this->helper('catalog/image')->init($_product, 'image')