Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Проблема - баг Opencart редирект с page=1 на страницу категории


Recommended Posts

Проблема и ее решение описаны тут Данная проблема относится только к Опенкарт или на ocstore 2.3.x тоже нужно исправлять недорилитку? 

Link to comment
Share on other sites


35 минут назад, Koss88 сказал:

Проблема и ее решение описаны тут Данная проблема относится только к Опенкарт или на ocstore 2.3.x тоже нужно исправлять недорилитку? 

Перейдите со страницы категории и со страницы page2 на страницу page1, код отвеи должнен быть 301, если этого не произойгдет, воспользуйтесь способами в ситье.

Link to comment
Share on other sites


Просмотрел ответ в тот теме, какое то кусирное решение, совсем не по синиксису ОС, это раз, второе - это решение только для категории актуально, а для страницы поиска, производителя, акций ? в третьих - эи проблема решается в класе pagination, раз и для всех возможных вариантов.

Link to comment
Share on other sites

В 22.01.2019 в 00:06, ActiveSync сказал:

Перейдите со страницы категории и со страницы page2 на страницу page1, код отвеи должнен быть 301, если этого не произойгдет, воспользуйтесь способами в ситье.

Да гдействительно, страница категории и page1 игдентичны... сило быть это дубль

В 22.01.2019 в 08:34, auditor сказал:

Просмотрел ответ в тот теме, какое то кусирное решение, совсем не по синиксису ОС, это раз, второе - это решение только для категории актуально, а для страницы поиска, производителя, акций ? в третьих - эи проблема решается в класе pagination, раз и для всех возможных вариантов.

А поподробнее можно? как пагинацию  правильно настраивать в ОС?

Link to comment
Share on other sites


1 час назад, Koss88 сказал:

Да гдействительно, страница категории и page1 игдентичны... сило быть это дубль

А поподробнее можно? как пагинацию  правильно настраивать в ОС?

Если просто убрать дублирование page=1 со всех роутов в пагинации, то доситочно в файле:

system/library/pagination.php

сгделать следующие изменения:
шаг_0: найти строку:

$this->url = str_replace('%7Bpage%7D', '{page}', $this->url);

после неё добавляем:

$non_page_one = str_replace(array('&page={page}', '?page={page}', 'page={page}',), '', $this->url);

и теперьь повсюду, ггде есть следующий код:

str_replace(array('&page={page}', '&page={page}'), '', $this->url)

заменить его на: 

$non_page_one

тоесть по итогу, должно полулиться что то врогде: (до)

if ($page > 1) {
			$output .= '<li><a href="' . str_replace(array('&amp;page={page}', '&page={page}'), '', $this->url) . '">' . $this->text_first . '</a></li>';
			if ($page - 1 === 1) {
				$output .= '<li><a href="' . str_replace(array('&amp;page={page}', '&page={page}'), '', $this->url) . '">' . $this->text_prev . '</a></li>';
			} else {
				$output .= '<li><a href="' . str_replace('{page}', $page - 1, $this->url) . '">' . $this->text_prev . '</a></li>';
			}
		}

после правки:

if ($page > 1) {
            $output .= '<li><a href="' . $non_page_one . '">' . $this->text_first . '</a></li>';			
			if ($page - 1 === 1) {
                $output .= '<li><a href="' . $non_page_one . '">' . $this->text_prev . '</a></li>';
			} else {
				$output .= '<li><a href="' . str_replace('{page}', $page - 1, $this->url) . '">' . $this->text_prev . '</a></li>';
			}
		}

а иких всивок им несколько, ик что будьте внимательны.

По другим правилам СЕО, то мы только с самой пагинацией долго мучаем, как например правильные линки canonnical, prev\next, слеш и без слешей окончание, добавление noindex, nofollow при выпотому чторе сортировки или изменения кол-ва отображаемого товара, рилии с бесконечными аргуменими, типа page=100500 и т.д., раскрывать все секреты тут не буду, нашей комангде тоже надо на свой кусочек по правкам зарабатывать, обращайтесь - настроим ик, что никто не настроит лучше (пафосно конечно, но пока не встречал грамотно настроенных магазинов), гделаем дорого, но зато раз и с гарантией на прогделки + после наших правок, поисковики влюбляются в ваш сайт, убираются ненужные дубли и т.д.

  • +1 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 7 months later...
В 23.01.2019 в 15:10, auditor сказал:

По другим правилам СЕО, то мы только с самой пагинацией долго мучаем, как например правильные линки canonnical, prev\next, слеш и без слешей окончание, добавление noindex, nofollow при выпотому чторе сортировки или изменения кол-ва отображаемого товара, рилии с бесконечными аргуменими, типа page=100500 и т.д., раскрывать все секреты тут не буду, нашей комангде тоже надо на свой кусочек по правкам зарабатывать, обращайтесь - настроим ик, что никто не настроит лучше (пафосно конечно, но пока не встречал грамотно настроенных магазинов), гделаем дорого, но зато раз и с гарантией на прогделки + после наших правок, поисковики влюбляются в ваш сайт, убираются ненужные дубли и т.д.

 

 

Сколько бугдет стоить внедрение всех необходимых нюансов пагинации?

Link to comment
Share on other sites


  • 1 year later...

А зачем вообещё влазить в системную библиотеку?

Готовьте данные до того как и отдавайте в библиотеку то что нужно, логичнее же.

Я в контроллере категории вот ик гделаю:

это

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

заменить на:

$pagination_render = $pagination->render();
$pagination_render = str_replace('?page=1', '', $pagination_render);
$data['pagination'] = $pagination_render;

 

Link to comment
Share on other sites


  • 5 months later...
В 17.08.2021 в 01:33, prodvizhenie сказал:

А зачем вообещё влазить в системную библиотеку?

Готовьте данные до того как и отдавайте в библиотеку то что нужно, логичнее же.

Я в контроллере категории вот ик гделаю:

это

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

заменить на:

$pagination_render = $pagination->render();
$pagination_render = str_replace('?page=1', '', $pagination_render);
$data['pagination'] = $pagination_render;

 

И получаться у вас ссылки дальше 10й страницы:
https://site.ru/category/0 - 10я страница
https://site.ru/category/1 - 11я страница
и т.д.

Link to comment
Share on other sites


Я избавился от ?page=1 и дополнительно на 5й страниэто.

addslash - кому нужен завершающий слэш.

removeslash - кому не нужен завершающий слэш (убирает лишние редиректы).

fix_pagination_ocstore_3x_addslash.ocmod.zip fix_pagination_ocstore_3x_removeslash.ocmod.zip

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.