如何从模块以编程方式创建PrestaShop后台页面?

时间:2015-09-02 07:29:09

标签: php smarty prestashop

How to create a new page in prestashop admin panel?< - 这是我发现的最接近的事情,但这个问题并不重复。

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

1 个答案:

答案 0 :(得分: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);
    }

此致