Перейти к содержанию
SooR

[FIX] Проблема с ЧПУ и дочерними категориями

Рекомендуемые сообщения

Создавая очередной магазин на Opencart, наткнулся на раздражающую проблему с дочерними категориями и присваивания им ссылок ЧПУ.

Если в категории с введенным полем "Псевдоним" (напр. computers) создать подкатегорию и не заполнять в ней поле "Псевдоним", то когда мы зайдем в категорию http://mysite.com/computers и захотим перейти в её дочернюю категорию - ничего не получится, мы останемся в этой же категории http://mysite.com/computers, а ссылка на дочернюю категорию будет вида http://mysite.com/computers, т.е. своего родителя, а не обычная ссылка без SEO_URL.

Т.е. вы сможете перейти в дочернюю категорию с включенным SEO_URL только после присвоения дочерней категории псевдонима для ЧПУ. А если нам это не надо?

Тогда, открываем файл ./catalog/model/tool/seo_url.php

И заменяем в нем условие (line 28)

if ($query->num_rows) {							$url .= '/' . $query->row['keyword'];						}
на

if ($query->num_rows) {							$url .= '/' . $query->row['keyword'];						} else {return $link;}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тут кое что по ходу пропущенное. Не хватает unset($data[$key]); в исходном варианте оно входит в if ($query->num_rows) по этому наверное правильнее будет сделать так

Тогда, открываем файл catalogmodeltoolseo_url.php

И заменяем в нем условие (line 28)

if ($query->num_rows) {	$url .= '/' . $query->row['keyword'];							unset($data[$key]);}
на

if ($query->num_rows) {        $url .= '/' . $query->row['keyword'];        unset($data[$key]);	} else {	 return $link;}
З.Ы. я правильно понял твою идею и правильно исправил?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

yandex-lexa

Где ты там ансет увидел?

Может в оочень старой версии? В новых нету.

Да и он там не нужен, т.к. в

} elseif ($key == 'path') {
входит

unset($data[$key]);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.