我创建了一个自定义模块,我想在其中添加新选项到客户端列表。默认情况下,用户可以使用选项:查看,编辑或删除。我想添加检查选项。对于此测试,我修改了主控制器AdminCustomersControllerCore而没有覆盖。
在\ controllers \ admin \ AdminCustomersController.php
中public function displayEraseLink($token = null, $id, $name = null) {
$tpl = $this->createTemplate(_PS_MODULE_DIR_ . $this->module->name.'/views/templates/admin/list_action_erase.tpl');
$tpl->assign(array(
'confirm' => $this->l('Erase all client data') . $name,
'action' => $this->l('Erase'),
'id' => $id,
));
return $tpl->fetch();
}
我想加载list_action_erase.tpl,它位于modules \ my_module \ views \ templates \ admin \ list_action_erase.tpl中的位置。在服务器日志中,我看到:
无法加载模板文件'/home/user/domains/domain.com/public_html/admin3640wjafn/themes/default/template//home/user/domains/domain.com/public_html/modules//views/templates/管理/ list_action_erase.tpl
如何从其他位置加载视图?
亲切的问候
答案 0 :(得分:0)
而不是
$tpl = $this->createTemplate(_PS_MODULE_DIR_ . $this->module->name.'/views/templates/admin/list_action_erase.tpl');
使用
$tpl = $this->context->smarty->createTemplate(_PS_MODULE_DIR_ . $this->module->name.'/views/templates/admin/list_action_erase.tpl');
$this->createTemplate()
是$this->context->smarty->createTemplate()
中AdminController
的包装器,它会查找相对于文件夹/adminfolder/themes/default/template/
的模板。
使用$this->context->smarty->createTemplate()
本身,您可以指定模板的绝对路径。