июня 9, 2013

Создание простого модуля PrestaShop

Этот пост – продолжение цикла статей по созданию простого модуля для PrestaShop. В предыдущем посте на блоге web-esse.ru я рассмотрела типичную структуру модуля, теперь, имея теоретические знания, приступаем к их практическому применению.

Урок 2. Создание простого модуля PrestaShop – “simple”

1. Создаём обязательные файлы, согласно структуре модуля рекомендованной PrestaShop
– simple.php (bootstrap файл, называется так же как папка)
– Иконки – не обязательно, но отображение графического значка возле имени в админке повышает привлекательность, да и искать его становиться легче. Для выбора иконки можно воспользоваться бесплатными сервисами или вот вам пак из 3000 иконок для модулей

2. В начале бутстрап файла должна содержаться проверка существования константы ‘_PS_VERSION_’, для предотвращения прямой загрузки и выполнения файла

if (!defined('_PS_VERSION_'))
  exit;

3. Название класса модуля должно в соответствовать названию папки и файла в стиле CamelCase.


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

Согласно принципам ООП, созданный класс модуля должен наследовать родительский

class Simple extends Module {}

4. Первый метод класса:

public function __construct(){ 
parent::__construct(); 
}

Применяется для инициализации таких переменных, как имя автора, версия модуля, вкладка в админке и т.п


Напомню из основ ООП: Конструктор класса – метод, который автоматически выполняется в момент создания объекта, до вызова остальных методов класса

Рассмотрим возможные значения переменных (в модуле мы будем использовать не все):
– $this->name = ‘simple'; //название модуля
– $this->tab = ‘front_office_features'; // вкладка в админке на странице модулей
Названия вкладок
administration – Administration – Администрирование
advertising_marketing – Advertising & Marketing – Маркетинг и реклама
analytics_stats – Analytics & Stats – Статистика и аналитика
billing_invoicing – Billing & Invoices – Документы и счета
checkout – Checkout
content_management – Content Management
emailing – E-mailing
export – Export
front_office_features – Front Office Features – Модули для фронт-офиса
i18n_localization – I18n & Localization
market_place – Market Place
merchandizing – Merchandizing
migration_tools – Migration Tools – Инструменты миграции
mobile – Mobile
others – Other Modules – Другие
payments_gateways – Payments & Gateways – Платежные системы
payment_security – Payment Security – Безопасность оплаты
pricing_promotion – Pricing & Promotion – Скидки и акции
quick_bulk_update – Quick / Bulk update
search_filter – Search & Filter – Поиск и фильтры
seo – SEO
shipping_logistics – Shipping & Logistics – Доставка и логистика
slideshows – Slideshows
smart_shopping – Smart Shopping
social_networks – Social Networks

– $this->version = ‘1.0’; //версия модуля
– $this->author = ‘Web-esse.ru'; //Автор модуля
– $this->need_instance = 0; //Вывод уведомлений в панель адмнистрирования, если установлена 1. Например, для работы “simple” модуля требуется “такой то” pear пакет.
– $this->ps_versions_compliancy = array(‘min’ => ‘1.5’, ‘max’ => ‘1.5’); // Указывает совместимость с версиями, например, 1.5 и выше
– $this->dependencies = array(‘blockcart’); // Указывает, что для работы модуля требуется установить другой модуль. В качестве значения массива используется имя папки модуля.

– $this->displayName = $this->l(‘Simple module’); // Имя модуля отображаемое во вкладке, поддерживает различные переводы
– $this->description = $this->l(‘Description of my module.’); //Описание модуля так же можно задать на разных языках.
– $this->confirmUninstall = $this->l(‘Are you sure you want to uninstall?’); // Сообщение о подтверждении удаления модуля

Подведём краткий итог урока. Если сейчас загрузить модуль в админку, он появится во вкладке модули с собственными именем, описанием и т.п. Однако, если нажать на вкладку “Установить” ничего не произойдёт. Установку модуля мы рассмотрим на следующем уроке.


Комментарии