Инструментарий обратной совместимости: обеспечение совместимости вашего 1.5+ с PrestaShop 1.4

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

Инструментарий обратной совместимости: обеспечение совместимости вашего 1.5+ с PrestaShop 1.4

Описание

API-интерфейс PrestaShop значительно улучшился между версией 1.4 и версией 1.5 программного обеспечения.

Поскольку существует огромная экосистема модулей, которые обновляются для поддержки API-модуля 1.5, в то время как многие магазины все еще используют PrestaShop 1.4, разработчики PrestaShop решили создать обратную совместимость, бесплатный набор инструментов, доступный только для PrestaShop 1.4.

Включение этого инструментария позволяет разработать модуль 1.4, который использует стандарты PrestaShop 1.5.

Хелперы 1.5 API (HelperForm, HelperView и т. д.) по-прежнему недоступны в PrestaShop 1.4.

Поэтому следующие объявления больше не нужны:

global $smarty, $cookie;

Информация, которую они предоставляют, доступна через эти вызовы:

$this->context->customer->id;
$this->context->language->id;
$this->context->smarty->assign('content''empty');
...

Загрузка и установка

Вы можете скачать его прямо из репозитория PrestaShop: https://github.com/PrestaShop/PrestaShop-backward_compatibility .
Просто клонируйте проект Git, затем скопируйте /backward_compatibility папку в корневую папку модуля, который вы разрабатываете. Например, если ваш модуль называется TestModule, папка должна быть здесь: /modules/testmodule/backward_compatibility.

/backward_compatibility папка должна содержать следующие файлы:

  • backward.ini: Номер версии инструментария.
  • backward.php: Основной код.
  • Context.php: Добавляет Context-подобную поддержку PrestaShop 1.4, а также обратные совместимые методы Controller и Customer-like
  • Display.php: Позволяет отображать файлы TPL в бэк-офисе
  • index.php: Просто файл для предотвращения отображения папки посетителям

Бесполезно устанавливать инструментарий в PrestaShop 1.5.

Как использовать модуль

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

public function __construct()
{
    $this->name = 'testmodule';
    $this->tab = 'other';
    $this->version = '0.1';
    $this->author = 'Firstname Lastname';
    $this->need_instance = 0;
    parent::__construct();
    $this->displayName = $this->l('Test module');
    $this->description = $this->l('This is a test module');
    $this->confirmUninstall = $this->l('Warning: all the data saved in your database will be deleted. Are you sure you want uninstall this module?');
    /* Backward compatibility */
    if (_PS_VERSION_ < '1.5')
           require(_PS_MODULE_DIR_.$this->name.'/backward_compatibility/backward.php');
}

Как только это будет сделано, вы можете использовать больше преимуществ API 1.5, например Context.