Данный баг проявляется при включении сео. Присутствует в версиях 2.2, 2.3 (opencart, ocstore), ну и до сих пор не исправлена. Как увидеть? Включаем ЧПУ, заходим в категорию на вторую страницу и смотрим какая ссылка у нас на первой странице! Как исправить? Так. \system\library\pagination.php почти в начале найти Код: if ($page > 1) { $output .= '<li><a href="' . str_replace(array('&page={page}', '&page={page}'), '', $this->url) . '">' . $this->text_first . '</a></li>'; if ($page - 1 === 1) { $output .= '<li><a href="' . str_replace(array('&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>'; } } и заменить на PHP: if ($page > 1) { $output .= '<li><a href="' . str_replace(array('&page={page}', '?page={page}'), '', $this->url) . '">' . $this->text_first . '</a></li>'; if ($page - 1 === 1) { $output .= '<li><a href="' . str_replace(array('&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>'; } } найти ближе к концу, строку Код: $output .= '<li><a href="' . str_replace(array('&page={page}', '&page={page}'), '', $this->url) . '">' . $i . '</a></li>'; и заменить на PHP: $output .= '<li><a href="' . str_replace(array('&page={page}', '?page={page}'), '', $this->url) . '">' . $i . '</a></li>';
А у меня ссылка на первую страницу со второй такая САЙТ/medik/?page={page} Это и есть баг, который нужно исправить? (изначально первая страница открывается такой САЙТ/medik/ , но при переходе назад, со второй на первую - вот так, как показано выше)
А что делать, если ото, шо указано "в начале найти", - оно у меня закомментировано всё? Я когда убирала стрелочки в пагинации, весь этот блок заблокировала, шоб они не показывались. Вот результат проверки рекомендаций ТС: Первая часть (то, что "почти в начале найти") у меня вся заблокирована, она влияет на стрелочки пагинации (во всяком случае, у меня так) Вторая часть (то, что "найти ближе к концу, строку") у меня заблокирована частично, и предлагаемая к изменению строка (она у меня шла в коде под номером 74) была открытой, рабочей. Я изменила мою стандартную строку на строку, предлагаемую ТС (там суть в вопросительном знаке только перед ?page={page}, а было &page={page}, что и выдавало баг) Проверила. Теперь ссылка на переход со второй страницы назад, на первую выгляядит нормально, так САЙТ/medik/ Таким образом, у меня оказалось, что не всё нужно менять, а только нижнюю строку. -------------------------------- Благодарю.
" данное решение помогло избавиться от этого огрызка ?page={page} при переходе со второй страницы категории на первую. НО! страница то в итоге так и осталась. роботы ее видят, находят. как быть с этой проблемой? Спасибо
пробовал. но не придумал как обыграть знак вопроса в урл. не работает. через скрипт конечно можно но это ж кошмар. почему вообще оно существует. ведь в более старых версиях не было таких чудес
В одной из версий был такой глюк.. вот и появилось. Можно прямо в контроллере списка категорий написать что то типа такого PHP: if (isset($this->request->get['page'])) { if ($this->request->get['page']) == '{page}' { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } }