Как переписывать пользовательские ссылки в OpenCart

Как переписывать пользовательские ссылки в OpenCart

От автора: в этом курсе мы узнаем все о пользовательских SEO-friendly ссылках в OpenCart. Крайне важный аспект при разработке новых модулей, который также влияет на рейтинг в поисковой выдаче. Мы будем работать с последней версией OpenCart. Установите также последнюю версию, чтобы вы могли следовать по нашему коду.

Коротко о нашей задаче

Я составил список шагов, которые необходимо выполнить для создания пользовательских URL’ов в OpenCart:

Сперва необходимо понять принцип работы ссылок в ядре.

Потом мы разберем все нужные изменения в ядре.

Поверхностно изучим SQL запросы для вставки пользовательских URL.

А также узнаем, как работать со встроенной функцией перезаписи.

Примерно этим вы сейчас и займемся. Перейдем к первой теме.

Сопоставление URL в базе данных

Первым делом необходимо понять, как SEO URL’ы работают в ядре OpenCart. В phpMyAdmin откройте MySQL таблицу url_alias, вы увидите что-то похожее.

Внимание нужно обратить на две колонки. Первая query, в ней хранится ссылка, и вторая колонка keyword, в которой хранятся SEO ключевые слова для ссылки.

В таблице есть ссылки на различные вещи: товар, категория, информация и производитель. При каждом сохранении новых данных на стороне back-end в OpenCart ассоциирующаяся с этим информация попадает в эту таблицу.

На стороне front-end’а, когда пользователь запрашивает определенный URL, OpenCart находит соответствующие ему «кирпичики» из таблицы url_alias. Таким образом составные части в целом представляют собой SEO дружелюбную ссылку. Откройте файл catalog/controller/common/seo_url.php, давайте разберем код метода index.

Мы вытягиваем ассоциативные записи из таблицы url_alias. После этого парсится параметр запроса, и возвращается внутренняя ссылка.

Это и есть базовый принцип работы. К сожалению, это работает только для обычных ссылок – для пользовательских URL’ов нам придется переписать код ядра. Об этом и будет наша следующая секция.

Изменения в файлах ядра

Откройте файл catalog/controller/common/seo_url.php и замените метод rewrite на код ниже.

Метод rewrite используется для конвертации внутренних ссылок в SEO дружелюбные ссылки, но он работает только для внутренних ссылок. Поэтому для работы с пользовательскими модулями нам придется добавить свой код. В нашем методе rewrite в последнем условии мы добавили else, в котором прописан код для нашего кастомного модуля. Мы еще не добавили кастомные ссылки, этим и займемся в следующей части.

Для простоты мы редактировали файл ядра напрямую. На самом деле необходимо работать через OCMOD, чтобы не затронуть код ядра.

Добавляем ключевые слова MySQL

В этой части мы добавим SEO дружелюбные ссылки в наш модуль. И опять для простоты мы пишем на чистом SQL – сделать то же самое можно с помощью скриптов установки модуля.

Запустите код выше в базе данных OpenCart. В последней секции мы посмотрим, как использовать хелпер функцию для создания SEO дружелюбных ссылок.

Как это работает

Создайте новый файл catalog/controller/custom/custom.php с кодом:

На стороне front-end’а откройте ссылку //www.yourstore.com/index.php?route=custom/custom.

По ссылке вы увидите просто белый экран и ссылку. Посмотрите на эту ссылку, она теперь SEO дружелюбна! Если кликнуть на нее, загрузится та же самая страница, так как мы добавили ссылку на нее в таблицу url_alias. Это была простая демонстрация данной концепции. Ее можно расширить и создать модель для вставки SEO дружелюбных ссылок для своего модуля.

Заключение

Сегодня мы разобрали важную тему в OpenCart – пользовательские SEO дружелюбные ссылки. Для полной ясности мы разобрали самый простой способ. Надеюсь, он был вам полезен.

Автор: Sajal Soni

Источник: //code.tutsplus.com/

Редакция: Команда webformyself.

Метки:

Похожие статьи:

Комментарии Вконтакте: