Здравствуйте!
Возникла проблема с подгрузкой отзывов товара при включенной опции "индексируемые отзывы". При листании на вторую страницу появляется белый экран.
Если опция "индексируемые отзывы" отключена, то все работает нормально. При загрузке страницы в шаблон приходит пустая переменная reviewsdata, подключается функция ocReview
<script>
$(document).ready(function() {
breadLoad();
ocReviewPagination();
{% if (not reviewsdata) %}
ocReview();
{% endif %}
});
</script>
Этой функцией отзывы подгружаются ajax-ом в пустой блок.
<div id="review"></div>
Пагинация тоже осуществляется с помощью этой функции
function ocReview() {
$('#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=' + $('input[name=\'product_id\']').val());
}
Если же опция "индексируемые отзывы" включена, то переменная reviewsdata приходит не пустая и вставляет их в страницу при рендеринге, что логично. Тогда отзывы должны без проблем проиндексироваться поисковым роботом. Но вставляются они после блока id="review", что исключает пейджинг функцией ocReview, так как селектор #review уже не привяжет ссылки пагинации к действию click.
<div id="review"></div>
{{ reviewsdata }}
<a href="#review-popup" class="btn js-fancy-popup">{{ text_lightshop_products_review }}</a>
</div>
Да и сама функция ocReview не подключится из-за условия, которое указал выше(в первой вставке кода). Получается, что при пагинации javascript не срабатывает и ссылка перекидывает на страницу /index.php?route=product/product/review&product_id=161&page=2 , а там белый экран. Из-за этого куска функции review() контроллера product.php.
//lightshop
if ($this->config->get('theme_lightshop_product_review')) {
return $this->load->view('product/review', $data);
} else {
$this->response->setOutput($this->load->view('product/review', $data));
}
// lightshop end
Срабатывает первая инструкция и выводит белый экран.
Подскажите как была организована пагинация отзывов при включенной опции "индексируемые отзывы". Насколько я понимаю каждая страница пагинации должна быть на отдельной странице сайта, чтобы робот по всем им пробежался и проиндексировал. Но по коду не понял как это реализовано и что могло сломаться.