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

Вывод отзывов без ajax в Opencart 2


Recommended Posts

  • 4 months later...

Шикарная ветка.... Возможно кто то нашел решение или может подсказать его? Так как ТСу ничего не ответили. Можно и модуль и руками... Я нашел вот такое решение, но кроме кучи ошибок ничего не вылезло =((

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


Шикарная ветка.... Возможно кто то нашел решение или может подсказать его? Так как ТСу ничего не ответили. Можно и модуль и руками... Я нашел вот такое решение, но кроме кучи ошибок ничего не вылезло =((

Вот "бронебойное" решение SEO CMS ОТЗЫВЫ 2 :: Отзывы товаров с ответами и подпиской
Надіслати
Поділитися на інших сайтах

  • 2 weeks later...

Тоже пытаюсь сделать отзывы статическими, чтобы индексировались ПС.

Что сделал:

в /catalog/view/theme/magazin/template/product/product.tpl

заменил

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

на

<div id="review">
          	<?php if ($reviews_array) { ?>
                <?php foreach ($reviews_array as $review) { ?>
                <table class="table table-striped table-bordered">
                  <tr>                  	
                    <td style="width: 50%;"><strong><?php echo $review['author']; ?></strong></td>
                    <td class="text-right"><?php echo $review['date_added']; ?></td>
                  </tr>
                  <tr>
                    <td colspan="2"><p><?php echo $review['text']; ?></p>
                      <?php for ($i = 1; $i <= 5; $i++) { ?>
                      <?php if ($review['rating'] < $i) { ?>
                      <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-2x"></i></span>
                      <?php } else { ?>
                      <span class="fa fa-stack"><i class="fa fa-star fa-stack-2x"></i><i class="fa fa-star-o fa-stack-2x"></i></span>
                      <?php } ?>
                      <?php } ?></td>
                  </tr>
                </table>
                <div itemprop="review" itemscope itemtype="http://schema.org/Review">
                    <meta itemprop="name" content="<?php echo $heading_title; ?>" >
                    <meta itemprop="author" content="<?php echo $review['author']; ?>" >
                    <meta itemprop="datePublished" content="<?php echo $review['date_added']; ?>">
                    <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating">
                      <meta itemprop="worstRating" content = "1"/>
                      <meta itemprop="ratingValue" content="<?php echo $review['rating']?>"/>
                      <meta itemprop="bestRating" content = "5"/>
                    </div>
                    <meta itemprop="description" content="<?php echo $review['text']; ?>" />
                </div>
                <?php } ?>
                <div class="text-right"><?php echo $pagination; ?></div>
                <?php } else { ?>
                <p><?php echo $text_no_reviews; ?></p>
                <?php } ?>
</div>

и в /catalog/controller/product/product.php
после

$this->model_catalog_product->updateViewed($this->request->get['product_id']);

вставил

$this->load->model('catalog/review');

			if (isset($this->request->get['page'])) {
				$page = $this->request->get['page'];
			} else {
				$page = 1;
			}

			$review_total = $this->model_catalog_review->getTotalReviewsByProductId($product_id);

			$results = $this->model_catalog_review->getReviewsByProductId($product_id, ($page - 1) * 5, 5);
			$data['text_no_reviews'] = $this->language->get('text_no_reviews');
			$data['reviews_array'] = array();
			foreach ($results as $result) {
				$data['reviews_array'][] = array(
					'author' => $result['author'],
					'text' => strip_tags($result['text']),
					'rating' => (int)$result['rating'],
					'reviews' => sprintf($this->language->get('text_reviews'), (int)$review_total),
					'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added']))
				);
			}

			$pagination = new Pagination();
			$pagination->total = $review_total;
			$pagination->page = $page;
			$pagination->limit = 5;
			$pagination->text = $this->language->get('text_pagination');
			$pagination->url = $this->url->link('product/product', $url . '&product_id=' . $product_id . '&page={page}');
			$data['review_pagination'] = $pagination->render();

На странице товара отображаются ошибки, что я не задал переменные reviews_array & text_no_reviews :

Notice: Undefined variable: reviews_array in /var/www/asdasd/data/www/asd.ru/catalog/view/theme/magazin/template/product/product.tpl on line 667

Notice: Undefined variable: text_no_reviews in /var/www/asdasd/data/www/asd.ru/catalog/view/theme/magazin/template/product/product.tpl on line 699


Вопрос:
В чем мой прокол?

Я же их задал перед foreach

$data['text_no_reviews'] = $this->language->get('text_no_reviews');
$data['reviews_array'] = array();

Заранее вам благодарен!

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


  • 8 months later...

arthyrgrex, у вас получилось решить эту проблему? Сам уже битый час и так и сяк пытаюсь завести вот это http://cmykon.com.ua/opencart/otzyvy-bez-ajax-ili-seo-otzyvy-v-opencart/#pinglist-container , но ничего не выходит, такие-же ошибки, как и у вас..

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


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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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