Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Что такое PrestaShop

PrestaShop — бесплатный движок интернет-магазина с открытым кодом, написанный на PHP. Сразу после установки в нём есть каталог товаров, корзина, оформление заказа, покупатели и панель управления. Программист не пишет магазин с нуля, а дополняет готовый.

Курс рассчитан на PrestaShop 8. Отличия версии 9 упомянуты там, где они важны.

Что нужно для работы

ЧтоВерсия
PHPОт 7.2.5 до 8.1 для PrestaShop 8
База данныхMySQL 5.6 и новее или MariaDB
Веб-серверApache или Nginx
ComposerПонадобится для классов модуля в папке src

PrestaShop 9 требует PHP 8.1 и новее.

Чем занимается программист

Править файлы самого движка нельзя: при обновлении магазина они заменяются новыми. Весь свой код держат в двух местах.

ГдеЧто там делают
Модуль — папка в modulesДобавляют логику: блоки на страницах, свои страницы, таблицы, настройки
Тема — папка в themesМеняют внешний вид: шаблоны, стили, скрипты

Большая часть курса посвящена модулю, тема разобрана в отдельном уроке.

Что будем строить

Через весь курс проходит один пример — модуль acmehello в папке modules/acmehello. Сначала он выводит приветствие на главной странице, затем превращается в модуль отзывов о товарах:

  • блок отзывов на карточке товара;
  • страница настроек в панели управления;
  • своя таблица в базе данных;
  • страница со списком отзывов и формой;
  • раздел в панели для управления отзывами.

Каждый урок добавляет в модуль один файл или один метод. Где лежит файл и как увидеть результат, сказано рядом с каждым примером.

Как выглядит код модуля

Самый короткий модуль — это один класс в одном файле:

// modules/acmehello/acmehello.php
class AcmeHello extends Module
{
    public function __construct()
    {
        $this->name = 'acmehello';
        $this->version = '1.0.0';
 
        parent::__construct();
 
        $this->displayName = 'Приветствие';
    }
}

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

Где искать ответы

ИсточникЧто там
devdocs.prestashop-project.orgДокументация для разработчиков
Папка modules свежей установкиДесятки стандартных модулей — готовые образцы
Папка classesИсходный код классов, которые вызывает модуль

Читать код стандартных модулей — обычная практика: названия у них начинаются с ps_, например ps_banner.

Частая ошибка

Самый быстрый способ что-то изменить — поправить файл ядра или стандартной темы classic. Это работает до первого обновления, которое вернёт файлы в исходное состояние. Логику добавляйте модулем, а внешний вид меняйте в дочерней теме.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.