Перейти к содержанию

Рекомендуемые сообщения

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 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, отзывы теперь видны для индексации + добавлена микроразметка

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 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>

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

 

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
30 минут назад, Bumblbe сказал:

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

на 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 03.06.2017 в 00:20, Tom сказал:

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

 

Изменено пользователем storer

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Изменено пользователем storer

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, lisandr32 сказал:

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

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

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

 

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 21.02.2018 в 18:24, Tom сказал:

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


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

на 


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

 

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

 

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

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

 

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

Изменено пользователем 7ochukwu

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день,


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

 

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

 

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

Изменено пользователем Ortege

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.