2017-04-11 111 views
0

不知何故,我必须创建我的模块的管理页面。这就是我如何创建标签Prestashop选项卡的创建,每个选项卡的特定页面

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')); 
    } 
} 

这样控制器找不到了。但是我可以通过这样的链接创建只有配置页面。

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

回答

0

啊!这是一个缺失的父:: ::构造();在控制器中导致问题不让标签按他们应该的方式行事。

<?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中对于我的选项卡有不同的页面!

相关问题