Можно ли добавить дополнительные данные в Prestashop BlockLayered ajaxCall ()? Мне нужен рейтинг товара - PullRequest
0 голосов
/ 29 февраля 2020

Я работаю в некоторых модах 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)
            )
        );

Я не могу решить это без помощи: (

...