【问题标题】:How to create PrestaShop backoffice page programatically from module?如何从模块以编程方式创建 PrestaShop 后台页面?
【发布时间】:2015-09-02 17:10:31
【问题描述】:

How to create a new page in prestashop admin panel?

如何从模块本身创建后台模块页面及其内容(段落和输入控件),而无需通过 FTP 实际放置模板文件?除了安装模块之外,用户还需要做任何事情来获得通向所创建页面的后台菜单条目。

【问题讨论】:

  • 您想要模块配置页面或带有自定义后台页面的自定义管理控制器?

标签: php smarty prestashop


【解决方案1】:

在函数install()中

$this->installModuleTab('Name on menu (ex: My module action)', 'Module (ex: MyModule)', Tab::getIdFromClassName('name of files module (ex: myAdminModule.php)')))

在模块中:

    private function installModuleTab($tabClass = null, $tabName = null, $idTabParent = 0)
    {
        $pass = true;
        $tabNameLang = array();

        if (Tab::getIdFromClassName($tabClass))
            return (true);

        @AmazonTools::copy(_PS_MODULE_DIR_.$this->name.'/images/a16.gif', _PS_IMG_DIR_.'t/'.$tabClass.'.gif');

        foreach (Language::getLanguages() as $language)
            $tabNameLang[$language['id_lang']] = $tabName;

        $tab = new Tab();
        $tab->name = $tabNameLang;
        $tab->class_name = $tabClass;
        $tab->module = $this->name;
        $tab->id_parent = (int)$idTabParent;

        // For Prestashop 1.2
        //
        if (version_compare(_PS_VERSION_, '1.3', '<'))
            $pass = $tab->add();
        else
            $pass = $tab->save();

        return ($pass);
    }

问候,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    相关资源
    最近更新 更多