PrestaShop创建新管理员选项卡
在我的文件模块中PrestaShop创建新管理员选项卡,prestashop,Prestashop,在我的文件模块中 class Mymodule extends Module { public function install() { ... $this->installModuleTab('AdminMymodule', array(1=>'My Module Admin Tab'), 13) } private function installModuleTab($tabClass, $tabName, $idTabParen
class Mymodule extends Module
{
public function install()
{
...
$this->installModuleTab('AdminMymodule', array(1=>'My Module Admin Tab'), 13)
}
private function installModuleTab($tabClass, $tabName, $idTabParent)
{
$tab = new Tab();
$tab->name = $tabName;
$tab->class_name = $tabClass;
$tab->module = $this->name;
$tab->id_parent = $idTabParent;
$tab->active = 1;
if(!$tab->save())
return false;
return true;
}
}
正在运行,管理选项卡:“我的模块管理选项卡”已创建。现在,在AdminMymodule文件中:
include_once(PS_ADMIN_DIR.'/../classes/AdminTab.php');
class AdminMymodule extends AdminTab
{
public function __construct()
{
parent::__construct();
}
public function display()
{
echo $this->l('This is admin my module tab !');
}
}
当我点击链接“我的模块管理选项卡”时,结果是空白页。有人能帮我吗?prestashop“管理”选项卡中的每个选项卡都是一个管理控制器。 您需要将管理员控制器文件放入模块中 类似于mymodule\controllers\admin\AdminAboutUsController.php 在控制器内部,您需要放置:
class AdminAboutUsController extends ModuleAdminController {
public $asso_type = 'shop';
public function __construct() {
$this->module = 'mymodule';
$this->lang = true;
$this->context = Context::getContext();
$this->bootstrap = true;
parent::__construct();
}
public function initContent()
{
}
}
其中模块创建中的类名为
'class_name' => 'AdminAboutUs',
希望这能帮助您找到解决方案。prestashop“管理”选项卡中的每个选项卡都是一个管理控制器。 您需要将管理员控制器文件放入模块中 类似于mymodule\controllers\admin\AdminAboutUsController.php 在控制器内部,您需要放置:
class AdminAboutUsController extends ModuleAdminController {
public $asso_type = 'shop';
public function __construct() {
$this->module = 'mymodule';
$this->lang = true;
$this->context = Context::getContext();
$this->bootstrap = true;
parent::__construct();
}
public function initContent()
{
}
}
其中模块创建中的类名为
'class_name' => 'AdminAboutUs',
希望这能帮助您找到解决方案。您必须创建一个后台控制器。在模块的文件夹中,这将是结构
controllers/admin/AdminModuleName.php
此文件类必须命名为
class AdminmodulenameController extends ModuleAdminController.
您可以选择在安装模块时添加,也可以从“管理”菜单手动添加。您可以在prestashop文档()中找到扩展说明。您必须创建后台控制器。在模块的文件夹中,这将是结构
controllers/admin/AdminModuleName.php
此文件类必须命名为
class AdminmodulenameController extends ModuleAdminController.
您可以选择在安装模块时添加,也可以从“管理”菜单手动添加。您可以在prestashop文档()中找到一个扩展解释。是的,您可以在这样的模块中添加一个选项卡。 让我们以模块
homeslider
为例。
首先在controllers/admin/AdminHomeSliderController.php
并把这个代码:
<?php
class AdminHomeSliderController extends ModuleAdminController
{
public function __construct() {
$token = Tools::getAdminTokenLite('AdminModules');
$currentIndex='index.php? controller=AdminModules&token='.$token.'&configure=homeslider&tab_module=front_office_features&module_name=homeslider';
parent::__construct();
Tools::redirectAdmin($currentIndex);
}
}
在安装和卸载过程中,您需要通过以下方式调用它们:
//install
$this->createInnovativesLabsTabs();
//uninstall
$this->deleteInnovativesLabsTabs();
是的,您可以像这样在模块中添加选项卡。 让我们以模块
homeslider
为例。
首先在controllers/admin/AdminHomeSliderController.php
并把这个代码:
<?php
class AdminHomeSliderController extends ModuleAdminController
{
public function __construct() {
$token = Tools::getAdminTokenLite('AdminModules');
$currentIndex='index.php? controller=AdminModules&token='.$token.'&configure=homeslider&tab_module=front_office_features&module_name=homeslider';
parent::__construct();
Tools::redirectAdmin($currentIndex);
}
}
在安装和卸载过程中,您需要通过以下方式调用它们:
//install
$this->createInnovativesLabsTabs();
//uninstall
$this->deleteInnovativesLabsTabs();