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

时间:2017-04-11 10:51:17

标签: php module prestashop-1.6 prestashop-1.7

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

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;

    } 

我希望我没事。

创建标签后,尝试使用以下代码进行链接。

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

这样未找到的控制器就消失了。但是我只能通过这样的链接创建配置页面。

我应该如何为每个标签实现个性化页面。

1 个答案:

答案 0 :(得分:0)

啊,啊!那是一个缺少的父:: __ 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中的标签页面都有不同的页面!