Как получить переменные $product в шаблоне пользовательского модуля в Prestashop 1.7
Im борется с пользовательским модулем. Я хочу использовать переменную $product в пользовательском шаблоне модуля.
Это работает на каждой странице продукта, но не в категории, и домашняя страница дает мне ошибку отладки
Notice: Undefined index: product
любить
{$product.name}
Когда я заворачиваю его, как
{foreach from=$products item="product"}
{$product.name}
{/foreach}
тогда переменные $product работают, но я хочу только показать переменную, сопоставленную с продуктом.
Есть идеи?
Ive реализовал функции продукта из ps_specials со всеми необходимыми интерфейсами, такими как
$products = $this->getSpecialProducts();
$this->smarty->assign(
array(
'products' => $products,
));
return false;
Направьте меня, как получить переменную $product на страницах home и category (в файле пользовательского шаблона из пользовательского модуля в {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)?
Ответы - Как получить переменные $product в шаблоне пользовательского модуля в Prestashop 1.7 / How to get $product variables in custom module template in Prestashop 1.7

02.07.2019 05:14:32
Вы должны это сделать
public function hookDisplayProductListReviews($params){
$products = $this->getSpecialProducts($params['product']);
}
При использовании {hook h='displayProductListReviews' product=$product})
product=$product
будет в вывода $params, вы можете использовать print_r($params);die();
, чтобы посмотреть, что именно находится в этой переменной
