Prestashop 选项卡创建,每个选项卡的特定页面

Prestashop tab creation, specific page for each tabs

不知何故,我必须为我的模块创建管理页面。这就是我创建标签的方式

private function createTab()
    {
        $data = array(
                      'id_tab' => '', 
                      'id_parent' => 0, 
                      'class_name' => 'AdminSomeMenu', 
                      'module' => $this->name, 
                      'position' => 1, 'active' => 1 
                     );

        $res = Db::getInstance()->insert('tab', $data);

        $id_tab = Db::getInstance()->Insert_ID();
        $lang = (int)Configuration::get('PS_LANG_DEFAULT');

       //Define tab multi language data
        $data_lang = array(
                         'id_tab' => $id_tab, 
                         'id_lang' => $lang,
                         'name' => $this->name
                         );

        // Now insert the tab lang data
        $res &= Db::getInstance()->insert('tab_lang', $data_lang);

        $arrayTabs = array('TAB1','TAB2','TAB3');
        foreach ($arrayTabs as $requiredTabs) 
        {
            $tab = new Tab();       
            // Need a foreach for the language
            $tab->name[$lang] = $this->l($requiredTabs);
            $tab->class_name = 'Admin'.$requiredTabs;
            $tab->id_parent = $id_tab;
            $tab->module = $this->name;
            $tab->add();
        }

        return true;

    } 

我希望我一切顺利。

创建选项卡后,我正在尝试 link使用以下代码。

<?php
class AdminMenuController extends ModuleAdminController
{
    public function __construct()
    {
        $module = "mymodulename"
        Tools::redirectAdmin('index.php?controller=AdminModules&configure='.$module.'&token='.Tools::getAdminTokenLite('AdminModules'));
    }
}

这样找不到的控制器就没了。但是我只能通过 link.

创建配置页面

如何去实现每个标签的个性化页面。

啊!那是一个缺失的 parent::__construct();在导致问题的控制器中,不让选项卡按其应有的方式运行。

<?php
class AdminTAB1Controller extends ModuleAdminController
{
    public function __construct()
    {
        parent::__construct();
        /* Tools::redirectAdmin('index.php?controller=AdminModules&configure='.$module.'&token='.Tools::getAdminTokenLite('AdminModules')); */

        echo "Support page";
       /* or further function can be called to load tpl files from views/templates/admin/ */
    }
}

现在我在 PS 1.6 和 1.7 中都有不同的选项卡页面!