nandosendraa Posted March 4, 2024 Share Posted March 4, 2024 I've create a parent tab and 3 child tabs on my module with controllers for every tab. But when I click to a tab appears an error: Warning: Attempt to read property "smarty" on null. it seems that context is null This is my install function: public function install() { Configuration::updateValue('AGORACONECTION_LIVE_MODE', false); $languages = Language::getLanguages(false); // Main Parent menu if (!(int) Tab::getIdFromClassName('AdminConexionAgora')) { $parentTab = new Tab(); $parentTab->active = 1; $parentTab->name = array(); $parentTab->class_name = "AdminConexionAgora"; foreach ($languages as $language) { $parentTab->name[$language['id_lang']] = 'Conexion a Agora'; } $parentTab->id_parent = 0; $parentTab->module = ''; $parentTab->add(); } // Sub menu for Clientes if (!(int) Tab::getIdFromClassName('AdminAgoraClientes')) { $parentTabID = Tab::getIdFromClassName('AdminConexionAgora'); $parentTab = new Tab($parentTabID); $tab = new Tab(); $tab->active = 1; $tab->class_name = "AdminAgoraClientes"; $tab->name = array(); foreach ($languages as $language) { $tab->name[$language['id_lang']] = $this->l('Clientes'); } $tab->id_parent = $parentTab->id; $tab->module = $this->name; $tab->add(); } // Sub menu for Productos if (!(int) Tab::getIdFromClassName('AdminAgoraProductos')) { $parentTabID = Tab::getIdFromClassName('AdminConexionAgora'); $parentTab = new Tab($parentTabID); $tab = new Tab(); $tab->active = 1; $tab->class_name = "AdminAgoraProductos"; $tab->name = array(); foreach ($languages as $language) { $tab->name[$language['id_lang']] = $this->l('Productos'); } $tab->id_parent = $parentTab->id; $tab->module = $this->name; $tab->add(); } // Sub menu for Pedidos if (!(int) Tab::getIdFromClassName('AdminAgoraPedidos')) { $parentTabID = Tab::getIdFromClassName('AdminConexionAgora'); $parentTab = new Tab($parentTabID); $tab = new Tab(); $tab->active = 1; $tab->class_name = "AdminAgoraPedidos"; $tab->name = array(); foreach ($languages as $language) { $tab->name[$language['id_lang']] = $this->l('Pedidos'); } $tab->id_parent = $parentTab->id; $tab->module = $this->name; $tab->add(); } return parent::install() && $this->registerHook('header') && $this->registerHook('displayBackOfficeHeader'); } And this is a controller for a tab, I have the same other controllers: <?php class AdminAgoraClientesController extends AdminController { public function __construct() { $this->context->smarty->assign(array( 'example_variable' => 'example', )); // Cargar la plantilla Smarty $this->setTemplate('clientes.tpl'); } } the controllers are in the ModuleDir/controllers/admin folder and the tpls are in ModuleDir/views/tempates/admin folder Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now