Jump to content
ktr992

Открыть отзывы для индексации - ошибка

Recommended Posts

Версия Опенкарт: 2.1, шаблон нестандартный

 

Для того, чтобы открыть отзывы для индексации, в интернете везде приведен один и тот же способ:

 

В файле catalog/view/theme/ВАША_TEMA/template/product/product.tpl найти строку:

 

<div id="review"></div>

 

Заменить на:

 

<?php
$reviews = $this->model_catalog_review->getReviewsByProductId($product_id);
if ($reviews) {
foreach ($reviews as $review) {
echo '<div class="content"><p><strong>'.$review['author'].'</strong> – ';
   $date = strtotime($review['date_added']);
   echo date('d M Y',$date); ?><br />
<img src="catalog/view/theme/default/image/stars_<?php echo $review['rating'] ?>.png" alt="<?php echo $review['rating'] ?> из 5 звёзд!" /><br />
   <?php echo $review['text'].'</p></div>';
   }
} else { ?>
	<div class="content"><?php echo "Нет отзывов"; ?></div>
	  <?php } ?>

 

Но после этого вместо отзывов, получаю следующую ошибку (текст ошибки выводится во вкладке "отзывы")

 

Notice: Undefined property: Loader::$model_catalog_review in site/vqmod/vqcache/vq2-catalog_view_theme_themename_template_product_product.tpl on line 561 Fatal error: Call to a member function getReviewsByProductId() on a non-object in site/vqmod/vqcache/vq2-catalog_view_theme_themename_template_product_product.tpl on line 561

 

Прошу либо помочь исправить данную ошибку, либо подсказать другой способ, чтобы открыть отзывы для индексации.

Edited by ktr992

Share this post


Link to post
Share on other sites

Видимо нет окончательного понимания как это работает....

Кроме того ,что бы вытащить  отзывы, вам придётся изучить микроразметку.Иначе проку от данной операции , как от маргарина, от которого как известно ни вреда ни пользы...

 

В вашем случае править для начала нужно два файла.

/catalog/controller/product/product.php

и

/catalog/view/theme/ВАШ_ШАБЛОН/template/product/review.tpl

 

И вот почитать на досуге

http://schema.org/Review

Share this post


Link to post
Share on other sites

Tom, Спасибо!

Вы направили в нужную сторону и я нашел решение! Не сам изобрел конечно, поскольку изучать пока некогда, но по крайней мере нашел именно то, что вы описали, как мне кажется. То есть вариант с микроразметкой и открытыми для поиска отзывами.

Share this post


Link to post
Share on other sites

У меня немного другой вариант, но суть та же. Пожалуй, использую ваши модификации, еще раз спасибо!

 

comments_without_Ajax_schema_1.1.zip

Edited by ktr992

Share this post


Link to post
Share on other sites

Свой как накидал проверил.

https://search.google.com/structured-data/testing-tool

 

тот что ваш явно немного недоработан.

Скрытый текст

1463325329.png

 

Share this post


Link to post
Share on other sites

Прошу прощения за возможно глупый вопрос, это из-за не знания принципов работы модификаторов (я почему то их не использую, а делаю вручную описанные действия - объяснить почему не могу, сам не знаю)

 

но вот эта операция:

-<operation>
-<search>
	<![CDATA[$('#review').delegate('.pagination a', 'click', function(e) {]]>
</search>
-<add position="replace" offset="8">
	<![CDATA[]]>
</add>
</operation>

Удаляет этот кусок кода

$('#review').delegate('.pagination a', 'click', function(e) {
  e.preventDefault();
    $('#review').fadeOut('slow');
    $('#review').load(this.href);
    $('#review').fadeIn('slow');
});

или все таки надо этот? Хотя если offset=8 то по идее должен удаляться еще больший  кусок кода?

$('#review').delegate('.pagination a', 'click', function(e) {
  e.preventDefault();
    $('#review').fadeOut('slow');
    $('#review').load(this.href);
    $('#review').fadeIn('slow');
});
$('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>');

 

Отзывы отображаются в любом случае, но сразу под ними ошибка: переменная pagination не определена

Edited by ktr992

Share this post


Link to post
Share on other sites

И еще вопрос, это нормально, то что в коде страницы у меня дублируется отзыв:

он есть там где и должен быть в верстке, но еще и в:

 

<meta itemprop="description" content="Текст отзыва" />

 

Share this post


Link to post
Share on other sites
8 часов назад, ktr992 сказал:

я почему то их не использую, а делаю вручную описанные действия - объяснить почему не могу, сам не знаю

В смысле сам себе сложности создаю и потом ищу как их преодолеть?

А что,почему и откуда ошибки,смотреть нужно уже по месту.

Share this post


Link to post
Share on other sites
3 часа назад, Tom сказал:

В смысле сам себе сложности создаю и потом ищу как их преодолеть?

А что,почему и откуда ошибки,смотреть нужно уже по месту.

Ну да, когда вслепую ставишь не так интересно)

 

Вроде удалось исправить ошибку с pagination, отзывы теперь видны для индексации + добавлена микроразметка

Еще раз спасибо!

Share this post


Link to post
Share on other sites
В 03.06.2017 в 05:20, Tom сказал:

 

Огромная благодарность за OCMOD. Проверил на версии ocstore 2.3, вроде все работает. Но все же выдает ошибку с пагинацией

<div class="text-right"><b>Notice</b>: Undefined variable: pagination in <b>/home/site.ru/system/storage/modification/catalog/view/theme/default/template/product/product.tpl</b> on line <b>327</b></div>

Не подскажите как решить этот вопрос?

 

В 03.06.2017 в 18:02, ktr992 сказал:

Ну да, когда вслепую ставишь не так интересно)

 

Вроде удалось исправить ошибку с pagination, отзывы теперь видны для индексации + добавлена микроразметка

Еще раз спасибо!

 

Поделитесь решением

Share this post


Link to post
Share on other sites
В 23.01.2018 в 10:40, mister12 сказал:

 

Огромная благодарность за OCMOD. Проверил на версии ocstore 2.3, вроде все работает. Но все же выдает ошибку с пагинацией

<div class="text-right"><b>Notice</b>: Undefined variable: pagination in <b>/home/site.ru/system/storage/modification/catalog/view/theme/default/template/product/product.tpl</b> on line <b>327</b></div>

Не подскажите как решить этот вопрос?

 

 

Поделитесь решением

нашлось решение ? 

Share this post


Link to post
Share on other sites
30 минут назад, Bumblbe сказал:

нашлось решение ? 

 

Нет, пока закомментировал пагинацию и вывод делаю всех комментариев сразу.

Share this post


Link to post
Share on other sites

Заменить в файле 
 

$data['review_pagination'] = $pagination->render();

на 

$data['pagination'] = $pagination->render();

 

Share this post


Link to post
Share on other sites
В 03.06.2017 в 00:20, Tom сказал:

Данный окмод будет работать на OcStore 2.1.0.2.1 + UniShop + модуль Отзывы покупателей?

Share this post


Link to post
Share on other sites

Нет.

Share this post


Link to post
Share on other sites

@Tom а в UniShop отзывы покупателей это отдельное дополнение, встроенное в шаблон или отзывы выводятся через стандартный функционал opencart? Похоже я спутал модуль Вопросы покупателей с отзывами.

 

 

Edited by storer

Share this post


Link to post
Share on other sites

Отдельный модуль "Вопросы покупателей". Отзывы выводит сам опенкарт.

Share this post


Link to post
Share on other sites

Какие есть варианты, чтобы заработала индексация на Unishop? Только раздел платных услуг?

Edited by storer

Share this post


Link to post
Share on other sites

Да. 

Share this post


Link to post
Share on other sites

Спасибо, ваши советы помогли сделать отзывы индексируемыми.

Теперь другая проблема - очень нужно в отзывах сделать поля типа "Достоинства", "Недостатки"

Есть что-то готовое из решений, даже платные? Видел огромные модули сеошные, которые позволяют делать очень много разных полей, но уж очень они много охватывают всего в админке, а надо всего-лишь пару полей чисто в отзывы добавить.

Share this post


Link to post
Share on other sites
2 часа назад, lisandr32 сказал:

Спасибо, ваши советы помогли сделать отзывы индексируемыми.

Теперь другая проблема - очень нужно в отзывах сделать поля типа "Достоинства", "Недостатки"

Есть что-то готовое из решений, даже платные? Видел огромные модули сеошные, которые позволяют делать очень много разных полей, но уж очень они много охватывают всего в админке, а надо всего-лишь пару полей чисто в отзывы добавить.

 

Спросили - отвечу, :)
Вот есть недорогой гибкий модуль отзывов
Там есть добавление ЛЮБЫХ полей
В т ч и Достоинства и Недостатки и плюс какие вам угодно
В том числе рейтинговые и со статистикой, и "полезностью"

 

 

Share this post


Link to post
Share on other sites
В 21.02.2018 в 18:24, Tom сказал:

Заменить в файле 
 

$data['review_pagination'] = $pagination->render();

на 

$data['pagination'] = $pagination->render();

 

Добрый день! Подскажите, в каком именно файле нужно поменять?

 

Изменил в файле модуля.

Теперь снова появилась пагинация, причем при клике на 2 страницу пагинации открывается новое окно, где только эти комментарии (2 страница)

 

Подскажите, как сделать пагинацию, но чтобы отзывы индексировались? Может быть есть решение пагинации с обновлением страницы? на PHP например? И кстати это неплохо бы помогало по СЕО

Edited by 7ochukwu

Share this post


Link to post
Share on other sites

Убрать совсем пагинацию.

Share this post


Link to post
Share on other sites

Добрый день,


OC 3.0.2.0. Перепробовал все варианты существующие в интернете по дезактивации JSON и отображению google-читаемых отзывов, но ничего не помогло. Не работают от слова совсем, даже с адаптацией под OC 3.0.2.0. Подозреваю что дело в новом формате шаблонизатора twig (которой не знаю) или может какая другая проблема совместимости. 

 

Пробовал даже просто захардкодить отображение отзывов через файл темы (удалил скрипт json в product.twig и прописывал свою разметку – но безрезультатно).

 

Буду очень признателен если подскажите решение для третьего OpenCart.

Edited by Ortege

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.