PrestaShop 1.7:如何在产品列表展示服装尺码属性?
PrestaShop 1.7 产品列表展示可用尺码的关键变量
核心数据变量
- 当前产品对象:
$product(产品列表循环里默认已实例化) - 产品属性组合(包含尺码):
$product->getAttributeCombinations($id_lang),其中$id_lang可通过Context::getContext()->language->id获取当前语言ID - 尺码属性信息:遍历属性组合时,尺码对应的名称是
$attribute->name,属性ID是$attribute->id_attribute(后台属性管理中可查看尺码类属性的ID) - 库存状态:
$attribute->quantity,值大于0表示该尺码有货可用
模板可直接调用的变量(对应模板如product-list.tpl)
- 产品ID:
{$product.id_product} - 若提前在控制器/模块处理好可用尺码数组,可自定义赋值为
{$product.available_sizes},直接在模板循环输出
实操提示
- 建议在
ProductListingFrontController或自定义模块里提前处理尺码数据:过滤出尺码类属性、筛选有库存的项,整理成数组后赋值给$product对象,再到模板里循环展示,避免在模板中编写复杂逻辑 - 模板中循环属性组合的示例:
{foreach from=$product->getAttributeCombinations(Context::getContext()->language->id) item=attribute} {if $attribute.id_attribute_group == [你的尺码属性组ID] && $attribute.quantity > 0} <span class="size-option">{$attribute.name}</span> {/if} {/foreach}
(将[你的尺码属性组ID]替换为后台实际的尺码属性组ID,可在后台「属性>属性组」中查看)
内容的提问来源于stack exchange,提问作者psych0dad
相关产品推荐
相关产品推荐

