Урок 10 Убрать описание категории при пагинации

Как многие знают, opencart не особо оптимизирован под требования yandex в плане SEO. И если в OCStore хотя бы частично решена проблема с дублями товаров, то вот с описанием категорий в опенкарт все оставляет желать лучшего. Взять то же самое описание. Оно дублируется на каждой странице пагинации, в чем нет ничего хорошего. Однако эту проблему легко решить, чем мы сегодня и займемся.
Решение довольно простое. Нам необходимо внести изменения в контроллер категорий, а именно в файл
1 |
/catalog/controller/product/category.php |
Находим
1 |
$data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); |
И заменяем на
1 2 3 4 5 |
if (isset($this-request->get['page']) && $this-request->get['page'] > 1) { $data['description'] = ''; } else { $data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8'); } |
Теперь если перейти на вторую страницу товаров в категории, описание выводиться не будет. Проблема с дублированным контентом в категориях решена.
Чтобы работало нужно так:
if (isset($this->request->get[‘page’]) && $this->request->get[‘page’] >1) {
$data[‘description’] = »;
} else {
$data[‘description’] = html_entity_decode($category_info[‘description’], ENT_QUOTES, ‘UTF-8’);
}
Да, Вы правы. Спасибо, поправил. Видать редактор кода часть порезал.
Спасибо за ваш труд!
Поправьте код в статье, как в комментарии ниже:
после $this не тире (-) , а стрелка (->), вот так:
if (isset($this->request->get[‘page’]) && $this->request->get[‘page’] >1) {
Спасибо. Поправил.
Parse error: syntax error, unexpected ‘’’ (T_STRING), expecting ‘,’ or ‘)’ in /home/host1368354/kaminvdom.ru/htdocs/www/system/storage/modification/catalog/controller/product/category.php on line 148
А у меня вот так(( (горько плачет) оупенкарт 2.1.0.1
if ($page == 1) {
$data[‘description’] = html_entity_decode($category_info[‘description’], ENT_QUOTES, ‘UTF-8’);
} else {
$data[‘description’] = «»;
}
вот так работает на 2.1.0.1. вдруг кому пригодится