Prestashop 1.7: Как создать базовый пользовательский контроллер администратора? - PullRequest
0 голосов
/ 03 октября 2019

Мне удалось создать вкладку меню в бэк-офисе, но когда я нажимаю на нее, я получаю Page not found. The controller is missing or invalid.

Вот код для моего контроллера -

<?php

class AdminModuleNameConvert extends ModuleAdminController {


    public function __construct()   {
        $this->bootstrap = true;
        parent::__construct();
    }
}

ИспользованиеРешение, предоставленное ethercreation, заставляет контроллер загружаться, но оно показывает мне

Invalid security token

1 Ответ

1 голос
/ 04 октября 2019

Попробуйте ширину:

В вашем модуле: modukenameconverter

class modulenameconverter extends Module
{
    public function __construct(Context $context = null)
    {
        $this->name = 'modulenameconverter';
        $this->version = '1';
        $this->bootstrap = true;
        $this->author = 'Stackoverflow';
        $this->displayName = $this->l('modulenameconverter');
        $this->description = $this->l('Module name converter');

        parent::__construct();
    }

    public function install()
    {
        $tab = new Tab();
        $tab->class_name = 'Adminmodulenameconverter';
        $tab->module = 'modulenameconverter';
        $tab->name[1] = 'modulenameconverter';
        $tab->id_parent = 2;
        $tab->active = 1;
        if (!$tab->save()) {
            return false;
        }
        return parent::install();
    }

    public function uninstall()
    {
        $id_tab = (int)Tab::getIdFromClassName('Adminmodulenameconverter');
        $tab = new Tab($id_tab);

        if (Validate::isLoadedObject($tab)) {
            if (!$tab->delete()) {
                return false;
            }
        } else {
            return false;
        }
        return parent::uninstall();
    }
}

В module/controllers/admin/AdminModulenameconverterController.php

class AdminNameconverterController extends ModuleAdminController
{
    public function __construct()
    {
        parent::__construct();
        $this->bootstrap = true;
        $this->id_lang = $this->context->language->id;
        $this->default_form_language = $this->context->language->id;
    }

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

С уважением

...