Prestashop 1.6.1.X проблемы и решения.

Твой выбор Prestashop

  • 1.5

  • 1.6.0.Х

  • 1.6.1.Х

  • 1.7


Результаты будут видны только после голосования.
Интересует такой вопрос. Кто каким модулем пользуется для написания отзывов о товаре. Пробовал Customer Ratings and Reviews Pro + Google Rich Snippets. Не получилось скрестить с Варехаузом последним. Снёс его, установил Отзывы о товаре 3.6.1. Он не корректно подхватывает название и описание товара в форму(берет с другого случайного товара). Картинка товара при этом правильная. В итоге отзыв вроде есть, но не на тот товар, что нужно. А открыть посмотреть его нельзя. В общем, одни сплошные глюки с этими отзывами.
 
А можно подробнее что это за модуль?
Я так понимаю стандартный бесплатный, шёл вместе с престой, только он был не установленный.
Английское название не знаю точно, Productcomments в Модули и Сервисы (в хлебных крошках) написано.
 
Последнее редактирование:
Отключение или удаление, он у меня и так откоючен.
Достаточно отключения. Как я понял, модуль Отзывы о товаре 3.6.1, берет наименование из последнего объявленного на странице товара. В моем случае это был последний товар из модуля Товары в той же категории v1.8.1.
Возможно у Вас есть еще какие-то включенные модули из которых берется наименование. У себя еще нашел модуль Cross-selling modded v1.1.1 - от IQIT-COMMERCE.COM который также отображал дополнительные товары из которых бралось наименование.
Screenshot_3.jpg Screenshot_4.jpg Screenshot_5.jpg
 
/themes/warehouse/modules/productcomments/productcomments.tpl
строки 126-135
PHP:
<div class="product clearfix  col-xs-12 col-sm-6">
                        <img src="{$productcomment_cover_image}" height=100% width=100% alt="{$product->name|escape:'html':'UTF-8'}" />
                        <div class="product_desc">
                            <p class="product_name">
                                <strong>{if isset($product->name)}{$product->name}{else}{$product.name}{/if}</strong>
                            </p>
                            {if isset($product->description_short)}{$product->description_short}{else}{$product.description_short}{/if}
                        
                        </div>
                    </div>
если заменить
Код:
<strong>{if isset($product->name)}{$product->name}{else}{$product.name}{/if}</strong>
на
PHP:
<strong>{if isset($product->name)}{$product->name}{else}{123}{/if}</strong>
PHP:
<div class="product clearfix  col-xs-12 col-sm-6">
                        <img src="{$productcomment_cover_image}" height=100% width=100% alt="{$product->name|escape:'html':'UTF-8'}" />
                        <div class="product_desc">
                            <p class="product_name">
                                <strong>{if isset($product->name)}{$product->name}{else}{123}{/if}</strong>
                            </p>
                            {if isset($product->description_short)}{$product->description_short}{else}{$product.description_short}{/if}
                        
                        </div>
                    </div>
Screenshot_6.jpg
т.е. как я, понимаю если не была ранее объявлена переменная if isset($product->name) то взять $product.name (а это уже последняя запись на странице о наименовании товара)
я в коде не сильно разбираюсь, но как я понимаю, не объявлена переменная в файле modules/productcomments/productcomments.php строки 831-852 есть упоминание о переменной изображения 'productcomment_cover_image', возможно нужно объявить переменную в этом фале, но я не знаю как.
PHP:
 $this->context->smarty->assign(array(
            'logged' => $this->context->customer->isLogged(true),
            'action_url' => '',
            'product' => $product,
            'comments' => ProductComment::getByProduct((int) Tools::getValue('id_product'), 1, null, $this->context->cookie->id_customer),
            'criterions' => ProductCommentCriterion::getByProduct((int) Tools::getValue('id_product'), $this->context->language->id),
            'averages' => $averages,
            'product_comment_path' => $this->_path,
            'averageTotal' => $averageTotal,
            'allow_guests' => (int) Configuration::get('PRODUCT_COMMENTS_ALLOW_GUESTS'),
            'too_early' => ($customerComment && (strtotime($customerComment['date_add']) + Configuration::get('PRODUCT_COMMENTS_MINIMAL_TIME')) > time()),
            'delay' => Configuration::get('PRODUCT_COMMENTS_MINIMAL_TIME'),
            'id_product_comment_form' => (int) Tools::getValue('id_product'),
            'secure_key' => $this->secure_key,
            'productcomment_cover' => (int) Tools::getValue('id_product').'-'.(int) $image['id_image'],
            'productcomment_cover_image' => $cover_image,
            'mediumSize' => Image::getSize(ImageType::getFormatedName('medium')),
            'nbComments' => (int) ProductComment::getCommentNumber((int) Tools::getValue('id_product')),
            'productcomments_controller_url' => $this->context->link->getModuleLink('productcomments'),
            'productcomments_url_rewriting_activated' => Configuration::get('PS_REWRITING_SETTINGS', 0),
            'moderation_active' => (int) Configuration::get('PRODUCT_COMMENTS_MODERATE'),
       ));
 
Он не корректно подхватывает название и описание товара в форму(берет с другого случайного товара)
Разобрался: объявил переменные
'product_name' =>$product->name,
'product_description_short' =>$product->description_short
в файле /modules/productcomments/productcomments.php
PHP:
        $this->context->smarty->assign(array(
            'logged' => $this->context->customer->isLogged(true),
            'action_url' => '',
            'product' => $product,
            'comments' => ProductComment::getByProduct((int) Tools::getValue('id_product'), 1, null, $this->context->cookie->id_customer),
            'criterions' => ProductCommentCriterion::getByProduct((int) Tools::getValue('id_product'), $this->context->language->id),
            'averages' => $averages,
            'product_comment_path' => $this->_path,
            'averageTotal' => $averageTotal,
            'allow_guests' => (int) Configuration::get('PRODUCT_COMMENTS_ALLOW_GUESTS'),
            'too_early' => ($customerComment && (strtotime($customerComment['date_add']) + Configuration::get('PRODUCT_COMMENTS_MINIMAL_TIME')) > time()),
            'delay' => Configuration::get('PRODUCT_COMMENTS_MINIMAL_TIME'),
            'id_product_comment_form' => (int) Tools::getValue('id_product'),
            'secure_key' => $this->secure_key,
            'productcomment_cover' => (int) Tools::getValue('id_product').'-'.(int) $image['id_image'],
            'productcomment_cover_image' => $cover_image,
            'mediumSize' => Image::getSize(ImageType::getFormatedName('medium')),
            'nbComments' => (int) ProductComment::getCommentNumber((int) Tools::getValue('id_product')),
            'productcomments_controller_url' => $this->context->link->getModuleLink('productcomments'),
            'productcomments_url_rewriting_activated' => Configuration::get('PS_REWRITING_SETTINGS', 0),
            'moderation_active' => (int) Configuration::get('PRODUCT_COMMENTS_MODERATE'),
            'product_name' =>$product->name,
            'product_description_short' =>$product->description_short,
И поправил строки 130-132 /themes/warehouse/modules/productcomments/productcomments.tpl
PHP:
                {if isset($product) && $product}
                    <div class="product clearfix  col-xs-12 col-sm-6">
                        <img src="{$productcomment_cover_image}" height=100% width=100% alt="{$product->name|escape:'html':'UTF-8'}" />
                        <div class="product_desc">
                            <p class="product_name">
                                <strong>{if isset($product->name)}{$product->name}{else}{$product_name}{/if}</strong>
                            </p>
                            {if isset($product->description_short)}{$product->description_short}{else}{$product_description_short}{/if}
                           
                        </div>
                    </div>
                {/if}
 

Вложения

  • productcomments.zip
    9,6 KB · Просмотры: 16
warmspace, можешь еще проверить такую штуку..
Когда написал отзыв и одобрил его, в правом блоке у меня есть ссылка читать отзывы со счетчиком, так вот в этом счетчике стоит 0
счетчик.PNG
Подозреваю что этот счетчик работает для того последнего товара, о котором ты писал выше.
При нажатии на эту ссылку открывает вкладку отзывы ниже, там все присутствует.
 
Назад
Сверху