Я работаю в некоторых модах Prestashop 1.6. У меня есть модуль productcomments, модифицированный для отображения рейтинга продукта в product-list.tpl, но теперь мне нужно использовать его с Blocklayered, но рейтинги появляются только на первой странице ...
Я думаю, что из-за ajaxcall () из blocklayered не имеет информации о рейтинге, поэтому мне нужно добавить его в blocklayered. php, но я попробовал какой-то код без удачи.
Мои рабочие Productcomments. php fuction, чтобы показать оценка в product-list.tpl:
public function hookDisplayProductListReviews($params)
{
$id_product = (int) $params['product']['id_product'];
if (!$this->isCached('productcomments_reviews.tpl', $this->getCacheId($id_product))) {
require_once dirname(__FILE__).'/ProductComment.php';
$average = ProductComment::getAverageGrade($id_product);
$this->smarty->assign(array(
'product' => $params['product'],
'averageTotal' => round($average['grade']),
'ratings' => ProductComment::getRatings($id_product),
'nbComments' => (int) ProductComment::getCommentNumber($id_product),
));
}
return $this->display(__FILE__, 'productcomments_reviews.tpl', $this->getCacheId($id_product));
}
Я думаю, мне нужно загрузить полный массив в каждом ajaxcall () из слоистых. php, но я не знаю, как это сделать. Может быть, это следует добавить сюда?
$smarty->assign(
array(
'homeSize' => Image::getSize(ImageType::getFormatedName('home')),
'nb_products' => $nb_products,
'category' => $category,
'pages_nb' => (int)$pages_nb,
'p' => (int)$p,
'n' => (int)$n,
'range' => (int)$range,
'start' => (int)$start,
'stop' => (int)$stop,
'n_array' => ((int)Configuration::get('PS_PRODUCTS_PER_PAGE') != 10) ? array((int)Configuration::get('PS_PRODUCTS_PER_PAGE'), 10, 20, 50) : array(10, 20, 50),
'comparator_max_item' => (int)(Configuration::get('PS_COMPARATOR_MAX_ITEM')),
'products' => $products,
'products_per_page' => (int)Configuration::get('PS_PRODUCTS_PER_PAGE'),
'static_token' => Tools::getToken(false),
'page_name' => 'category',
'nArray' => $nArray,
'compareProducts' => CompareProduct::getCompareProducts((int)$this->context->cookie->id_compare)
)
);
Я не могу решить это без помощи: (