Создать новую вкладку администратора в prestashop
Это мой код. Файл mymodule.РНР:
class Mymodule extends Module {
public function __construct() {
$this->name = 'mymodule';
$this->tab = 'dashboard';
$this->version = '1.0';
$this->author = 'My Name';
$this->need_instance = 0;
parent::__construct();
$this->displayName = $this->l('My Module');
$this->description = $this->l('My module description.');
$this->confirmUninstall = $this->l('Are you sure?');
}
public function install() {
return parent::install() &&
$this->installModuleTab('MyModuleController', 'My Tab', 13);
}
public function uninstall() {
return parent::uninstall() &&
$this->uninstallModuleTab('MyModuleController'));
}
private function installModuleTab($tabClass, $tabName, $idTabParent) {
$tab = new Tab();
foreach (Language::getLanguages() as $language) {
$tab->name[$language['id_lang']] = $tabName;
}
$tab->class_name = $tabClass;
$tab->module = $this->name;
$tab->id_parent = $idTabParent;
if (!$tab->save()) {
return false;
}
return true;
}
private function uninstallInternal($class_name) {
$idTab = Tab::getIdFromClassName($class_name);
if ($idTab != 0) {
$tab = new Tab($idTab);
$tab->delete();
return true;
}
return false;
}
}
Файл MyModuleController.РНР:
class EraThemeController extends AdminController {
public function __construct() {
parent::__construct();
}
public function display() {
echo $this->l('This is my tab');
}
}
при установке модуля, это ошибка:
Вкладка свойства - > имя пустое
в строке 887 в файле classes / ObjectModel.РНР
при перезагрузке страницы управления вкладка была создана, но при нажатии на нее возникает ошибка: контроллер не найден
кто-нибудь может мне помочь?
У вопроса есть решение - Посмотреть?

Я читал учебник, некоторое время назад, что может помочь вам:nemops.com/prestashop-products-new-tabs-fields
Источник
Ответы - Создать новую вкладку администратора в prestashop / Create new admin tab in prestashop

18.07.2014 07:19:18
Ваш класс должен быть определен следующим образом:
class AdminEraThemeController extends ModuleAdminController
Также в главном файле вашего модуля имя должно быть "AdminEraTheme", а не " MyModuleController"

06.05.2019 11:47:39
Я использую prestashop 1.7, и в этой версии вы объявляете $tabs и pretsashop на вкладке install and uninstall handle, я добавляю следующий код в modules/module_name/module_name.PHP конструктор:
class Plevel extends Module
{
private $c_table='plevel';
private $c_table_pivot='plevel_excluded';
public function __construct()
{
$this->tabs = array(
array(
'name' => 'Price Level', // One name for all langs
'class_name' => 'AdminPLevel',
'visible' => true,
'icon'=>'money',
'parent_class_name'=>'DEFAULT_MTR'
),
array(
'name' => 'Price Level List', // One name for all langs
'class_name' => 'AdminPLevelList',
'visible' => true,
'parent_class_name'=>'AdminPLevel',
'icon'=>'setting',
));
$this->name="plevel";
$this->tab="dashboard";
$this->version="1.0.0";
$this->author="javaheri.ghazaleh@gmail.com";
$this->need_instance=0;
$this->ps_versions_compliancy=array('min'=>'1.6','max'=>_PS_VERSION_);
$this->bootstrap=true;
$this->context=Context::getContext();
$this->displayName=$this->l("plevel");
$this->description=$this->l("change order print page");
$this->confirmUninstall=$this->l('Are you sure you want to uninstall');
parent::__construct();
}}
Помочь в развитии проекта: