новый модуль prestashop-1.7 - PullRequest
       6

новый модуль prestashop-1.7

0 голосов
/ 30 октября 2018

Я изучаю основы разработки модулей в Prestashop (1.7.4.3). У меня проблема с установкой нового модуля в систему. Это мой файл для нового модуля, расположенный по адресу: modules/mymodule/mymodule.php:

<?php 
if (!defined('_PS_VERSION_'))
    exit;

class MyModule extends Module
{
    public function __construct()
    {
        $this->name = 'mymodule';
        $this->tab = 'front_office_features';
        $this->version = '1.0.0';
        $this->author = 'Firstname Lastname';
        $this->need_instance = 0;
        $this->ps_versions_compliancy = [
            'min' => '1.6',
            'max' => _PS_VERSION_
        ];
        $this->bootstrap = true;

        parent::__construct();

        $this->displayName = $this->l('My module');
        $this->description = $this->l('Description of my module.');

        $this->confirmUninstall = $this->l('Are you sure you want to uninstall?');

        // parent::install();
        // this code is executed

        if (!Configuration::get('MYMODULE_NAME')) {
            $this->warning = $this->l('No name provided');
        }

    }

    public function install()
    {
        // die('install method');
        // this code is never executed

        return parent::install();
    }
}

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

Во время отладки я попытался поместить вызов функции установки в тело __constructor (), и это сработало. Я не вижу причины, по которой __construct () выполняется, а install () - нет.

Разрешения для папки модулей установлены на 777. Prestashop устанавливается в общую папку Virtual Box гостя Windows / Ubuntu guest.

Редактировать : Я установил Prestashop 1.6.1.22 (в той же среде, что и PS 1.7), и вышеупомянутый модуль работал как прелесть с самого начала. Похоже, проблема с PS 1.7

...