Основы  PrestaShop разработки

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

Основы  PrestaShop разработки

 

PrestaShop был задуман таким образом, чтобы сторонние модули могли легко встраиваться, делая его чрезвычайно гибким программным обеспечением для электронной коммерции. Настройка PrestaShop основана на трех возможностях:

  • темы,
  • модули,
  • переопределение.

Темы подробно рассматриваются в Руководстве по дизайну: http://doc.prestashop.com/display/PS16/Designer+Guide.
Модули и система переопределения рассматриваются в этом Руководстве для разработчиков, начиная с раздела «Концепции» ниже.

Вы можете узнать больше в каждом из следующих разделов:

По умолчанию PrestaShop имеет более 100 модулей, что позволяет вам быстро и бесплатно запускать онлайн-бизнес.

Более 2300 модулей также доступны на официальном сайте дополнений.
Эти дополнительные модули были созданы компанией PrestaShop или членами сообщества PrestaShop и продаются по доступным ценам.
Как разработчик вы также можете делиться своими модулями на этом сайте и получать 70% сумм от продажи ваших произведений.. Продать модуль!

Концепции

Вы должны быть знакомы с PHP и объектно-ориентированным программированием, прежде чем пытаться написать свой собственный модуль.

Вы можете изучить PHP здесь:

Здесь вы можете изучить объектно-ориентированное программирование:

Модуль является расширением для PrestaShop, которое позволяет любому разработчику добавить следующее:

  • Предоставить дополнительную функциональность PrestaShop.
  • Просмотр дополнительных элементов на сайте (выбор продукта и т. д.).
  • Взаимодействовать с другими службами электронной коммерции (платежные платформы, логистика и т. д.).
  • etc.

Переопределение — это сама по себе система. PrestaShop использует полностью объектно-ориентированный код. Одним из преимуществ этого является то, что с правильной архитектурой кода вы можете легко заменить или расширить части основного кода своим собственным кодом без необходимости касаться основного кода. Таким образом, ваш код переопределяет основной код, заставляя PrestaShop вести себя так, как вы этого хотите.
Не рекомендуется использовать переопределение в модуле, который вы собираетесь распространять (например, через торговую площадку PrestaShop Addons), и они запрещены в партнерских модулях. Используйте их в собственном магазине.

Техническая архитектура PrestaShop

PrestaShop базируется на 3-уровневой архитектуре:

  • Object/data. Доступ к базе данных контролируется через файлы в папке «classes».
  • Data control. Пользовательский контент контролируется файлами в корневой папке.
  • Design. Все файлы темы находятся в папке «Темы».

 

Это тот же принцип, что и архитектура Model-View-Controller (MVC), только более простым и доступным способом.

Наша команда разработчиков предпочла не использовать фреймворк PHP, такой как Zend Framework, Symfony или CakePHP, чтобы обеспечить лучшую читаемость и, тем самым, более быстрое редактирование.

Это также улучшает производительность, поскольку программное обеспечение составлено только из строк кода, которые ему требуются, и не содержит кучу дополнительных общих библиотек.

Архитектура с тремя уровнями имеет много преимуществ:

  • Легче прочитать код программного обеспечения.
  • Разработчики могут добавлять и редактировать код быстрее..
  • Графические дизайнеры и интеграторы HTML могут работать с папками тем /themes , не понимая и даже не читая код PHP.
  • Разработчики могут работать над дополнительными данными и модулями, которые могут использовать интеграторы HTML.

Model

Модель описывает поведение приложения: обработка данных, взаимодействие с базами данных и т.д.

Она описывает или содержит данные, которые были обработаны приложением. Она управляет этими данными и гарантирует их целостность.

View

Вид — это интерфейс, с которым взаимодействует пользователь.

Его первая роль — отобразить данные, предоставленные моделью. Вторая его роль — обработать все действия пользователя (щелчок мышью, выбор элементов, кнопки и т. Д.) и отправить эти события на контроллер.

Вид не обрабатывает; Он отображает только результат обработки, выполняемой моделью, и взаимодействует с пользователем.

Controller

Контроллер управляет событиями синхронизации между моделью и представлением и обновляет их по мере необходимости. Он получает все пользовательские события и запускает действия для выполнения.

Если действие нуждается в данных, которые необходимо изменить, контроллер «попросит» Модель изменить данные, и в свою очередь Модель уведомит вид о том, что данные были изменены, чтобы вид мог обновить себя.

Схема базы данных

You can download the PrestaShop 1.6 SQL schema in PDF form (3.90 Mb), or in the original MySQL Workbench file format (you will need MySQL Workbench to view it).