Создать новую вкладку администратора в prestashop

Создать новую вкладку администратора в prestashop

17.07.2014 11:57:16 Просмотров 47 Источник

Это мой код. Файл mymodule.РНР:

class Mymodule extends Module {
      public function __construct() {
        $this->name = 'mymodule';
        $this->tab = 'dashboard';
        $this->version = '1.0';
        $this->author = 'My Name';
        $this->need_instance = 0;

        parent::__construct();

        $this->displayName = $this->l('My Module');
        $this->description = $this->l('My module description.');
        $this->confirmUninstall = $this->l('Are you sure?');
    }

    public function install() {
        return parent::install() && 
               $this->installModuleTab('MyModuleController', 'My Tab', 13);
    }

    public function uninstall() {
        return parent::uninstall() && 
               $this->uninstallModuleTab('MyModuleController'));    
    }

    private function installModuleTab($tabClass, $tabName, $idTabParent) {
        $tab = new Tab();

        foreach (Language::getLanguages() as $language) {
            $tab->name[$language['id_lang']] = $tabName;
        }

        $tab->class_name = $tabClass;
        $tab->module = $this->name;
        $tab->id_parent = $idTabParent;

        if (!$tab->save()) {
            return false;
        }

        return true;
    }

    private function uninstallInternal($class_name) {
        $idTab = Tab::getIdFromClassName($class_name);

        if ($idTab != 0) {
            $tab = new Tab($idTab);
            $tab->delete();

            return true;
        }

        return false;
    }
}

Файл MyModuleController.РНР:

class EraThemeController extends AdminController {

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

    public function display() {
        echo $this->l('This is my tab');
    }
}

при установке модуля, это ошибка:

Вкладка свойства - > имя пустое

в строке 887 в файле classes / ObjectModel.РНР

при перезагрузке страницы управления вкладка была создана, но при нажатии на нее возникает ошибка: контроллер не найден

кто-нибудь может мне помочь?

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/24797903/create-new-admin-tab-in-prestashop#comment43242082_24797903
Я читал учебник, некоторое время назад, что может помочь вам:nemops.com/prestashop-products-new-tabs-fields

Ответы - Создать новую вкладку администратора в prestashop / Create new admin tab in prestashop

PrestaShopDeveloper

18.07.2014 07:19:18

Ваш класс должен быть определен следующим образом:

class AdminEraThemeController extends ModuleAdminController

Также в главном файле вашего модуля имя должно быть "AdminEraTheme", а не " MyModuleController"

ghazaleh javaheri

06.05.2019 11:47:39

Я использую prestashop 1.7, и в этой версии вы объявляете $tabs и pretsashop на вкладке install and uninstall handle, я добавляю следующий код в modules/module_name/module_name.PHP конструктор:

class Plevel extends Module
{
    private $c_table='plevel';
    private $c_table_pivot='plevel_excluded';

    public function __construct()
    {
        $this->tabs = array(
        array(
            'name' => 'Price Level', // One name for all langs
            'class_name' => 'AdminPLevel',
            'visible' => true,
            'icon'=>'money',
            'parent_class_name'=>'DEFAULT_MTR'

        ),
        array(
            'name' => 'Price Level List', // One name for all langs
            'class_name' => 'AdminPLevelList',
            'visible' => true,
            'parent_class_name'=>'AdminPLevel',
            'icon'=>'setting',

        ));
        $this->name="plevel";
        $this->tab="dashboard";
        $this->version="1.0.0";
        $this->author="javaheri.ghazaleh@gmail.com";
        $this->need_instance=0;
        $this->ps_versions_compliancy=array('min'=>'1.6','max'=>_PS_VERSION_);
        $this->bootstrap=true;
        $this->context=Context::getContext();
        $this->displayName=$this->l("plevel");
        $this->description=$this->l("change order print page");
        $this->confirmUninstall=$this->l('Are you sure you want to uninstall');
    parent::__construct();
}}

demo

Закрыть X