Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


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

 

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

Змінено користувачем ktr992
Надіслати
Поділитися на інших сайтах


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

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

 

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

/catalog/controller/product/product.php

и

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

 

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

http://schema.org/Review

Надіслати
Поділитися на інших сайтах

Tom, Спасибо!

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

Надіслати
Поділитися на інших сайтах


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

 

comments_without_Ajax_schema_1.1.zip

Змінено користувачем ktr992
Надіслати
Поділитися на інших сайтах


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

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

 

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

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

1463325329.png

 

Надіслати
Поділитися на інших сайтах

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

 

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

-<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 не определена

Змінено користувачем ktr992
Надіслати
Поділитися на інших сайтах


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

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

 

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

 

Надіслати
Поділитися на інших сайтах


8 часов назад, ktr992 сказал:

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

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

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

Надіслати
Поділитися на інших сайтах

3 часа назад, Tom сказал:

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

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

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

 

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

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

Надіслати
Поділитися на інших сайтах


  • 7 months later...
В 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, отзывы теперь видны для индексации + добавлена микроразметка

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

 

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

Надіслати
Поділитися на інших сайтах

  • 5 weeks later...
В 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>

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

 

 

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

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

Надіслати
Поділитися на інших сайтах


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

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

на 

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

 

Надіслати
Поділитися на інших сайтах

  • 4 weeks later...

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

 

 

Змінено користувачем storer
Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах

  • 4 weeks later...

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

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

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

Надіслати
Поділитися на інших сайтах

2 часа назад, lisandr32 сказал:

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

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

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

 

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

 

 

Надіслати
Поділитися на інших сайтах

В 21.02.2018 в 18:24, Tom сказал:

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


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

на 


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

 

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

 

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

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

 

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

Змінено користувачем 7ochukwu
Надіслати
Поділитися на інших сайтах


  • 3 months later...

Добрый день,


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

 

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

 

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

Змінено користувачем Ortege
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.