【发布时间】:2015-10-23 09:56:43
【问题描述】:
我正在尝试在产品列表中显示数量、组合等。到目前为止,我已经可以很好地显示组合,以便我可以从分配给产品的每个组中选择一个属性。
现在,我如何将这些“属性 ID”组合成一个组合产品,以便我可以查看价格、将其添加到购物车等。
这是我获取组合的模块
function hookdisplayProductOnList($params){
$product=new Product($params['id_product']);
$combinations=$product->getAttributeCombinations($this->context->language->id);
$combArray = [];
$combArrayIds = [];
foreach( $combinations as $k => $v )
{
if( !in_array($v["id_attribute"], $combArrayIds))
{
$combArrayIds[] = $v["id_attribute"];
$combArray[ $v["group_name"] ][] = $v;
}
}
$this->smarty->assign('combinations',$combArray);
return $this->display(__FILE__, 'combinations.tpl');
}
这就是我输出组的方式
{foreach $combinations as $k=>$comb}
<ul class="attribute-select" data-group="{$k}">
{foreach from=$comb item=attr}
<li data-combId="{$attr.id_attribute}" title="{l s='+'} {convertPrice price=$attr.unit_price_impact}">{$attr.attribute_name}</li>
{/foreach}
</ul><br />
{/foreach}
是否有任何辅助功能或类似的东西。喜欢:
::GetByAttributes($product_id, [ attr_id1, attr_id2, attr_id3 ] );
【问题讨论】:
-
也许我误解了任务,但您已经有
combinations(其他名称“product_attribute”,仅包含“属性”),因此客户可以从您显示的列表中选择组合,并且组合已经有价格等。我不确定你想从辅助函数中得到什么结果?
标签: php smarty e-commerce prestashop prestashop-1.6