Диспетчер

Опубликовано Опубликовано в рубрике prestashop, Руководство разработчика PrestaShop, Русская документация PrestaShop 1.6

Диспетчер

Диспетчер обрабатывает перенаправления URL-адресов. Например, вместо использования нескольких файлов в корневой папке, например product.php, order.php или category.php, PrestaShop использует только один файл: index.php.

Начиная с PrestaShop 1.5, URL-адреса фронт-офиса выглядят следующим образом:

  • /index.php?id_category=3&controller=category
  • /index.php?id_product=7&controller=product
  • /index.php?id_cms=4&controller=cms
  • etc.

Аналогично, в бекофисе URL-адреса выглядят следующим образом:

  • /admin-dev/index.php?controller=AdminDashboard
  • /admin-dev/index.php?controller=AdminProducts
  • /admin-dev/index.php?controller=AdminCmsContent
  • etc.

Кроме того, Диспетчер предназначен для поддержки перезаписи URL (или «ЧПУ»). URL-адреса PrestaShop, выглядят так, когда ЧПУ отключено …

http://myprestashop.com/index.php?controller=category&id_category=3&id_lang=1
http://myprestashop.com/index.php?controller=product&id_product=1&id_lang=2

…и начинают выглядеть так когда ЧПУ включено

http://myprestashop.com/en/3-music-ipods
http://myprestashop.com/fr/1-ipod-nano.html

В этой системе есть несколько преимуществ:

  • Легче добавить контроллер.
  • Вы можете использовать настраиваемые маршруты для изменения ваших ЧПУ URL-адресов (что действительно лучше для SEO!)
  • В программе есть только одна точка входа, которая повышает надежность PrestaShop и облегчает будущие разработки.

Диспетчер использует три абстрактных класса: Controller, FrontController и AdminController (последние два наследуются от первого).

Новые маршруты могут быть созданы путем переопределения метода loadRoutes ().

Администратор магазина может изменить URL-адрес контроллера, используя страницу «SEO и URL» в меню «Настройки» бэк-офиса.