我在努力使用自定义模块。我想在自定义模块模板中使用$ product变量。
这适用于每个产品页面,但不适用于类别,而首页却给我调试错误
Notice: Undefined index: product
喜欢
{$product.name}
当我把它包裹起来
{foreach from=$products item="product"}
{$product.name}
{/foreach}
然后$ product变量起作用,但我只想显示与产品匹配的变量。
有什么想法吗?
我已经通过ps_specials实现了具有所有所需接口的产品功能,例如
$products = $this->getSpecialProducts();
$this->smarty->assign(
array(
'products' => $products,
));
return false;
指导我如何在首页和类别页面中获取$ product变量(在{hook h ='displayProductListReviews'product = $ product}的自定义模块中,通过挂钩的自定义模板文件提供)
编辑。
我的功能现在看起来
public function hookDisplayProductListReviews($params){
$templateFile = 'test.tpl';
$products = $this->getSpecialProducts($params['product']);
$this->context->smarty->assign(
array(
'products' => $products,
));
return $this->fetch('module:'.$this->name.'/'.$templateFile);
}
到目前为止很好,因为有了
{foreach from=$products item=product} {$product->name} {/foreach}
我可以打印$ product-> name,但是...
如何在没有foreach循环的情况下使用它来打印功能getSpecialProducts(来自ps_specials模块)中收集的所有产品的名称?
答案 0 :(得分:1)
您应该
public function hookDisplayProductListReviews($params){
$products = $this->getSpecialProducts($params['product']);
}
使用{hook h='displayProductListReviews' product=$product})
时
product=$product
将包含在$ params中,您可以使用print_r($params);die();
查看该变量中的确切内容