我正在努力实现Prestashop后台模块 . 我在安装文件中添加了新的Tab
我在视图的显示上有错误消息 .
我的实现中可能缺少一些东西 .
模块名称为:mydashboard
我将tpl文件放在文件夹/ web / modules / mydashboard / views / templates / admin / mydashboard中
错误消息是
/ var / www / clients / client2986 / web12226 / web / modules / mydashboard致命错误:未捕获异常'SmartyException',消息'无法加载模板文件'/ var / www / clients / client2986 / web12226 / web / admin11 / themes /默认/模板// var / www / clients / client2986 / web12226 / web / modules / mydashboard / views / templates / admin / mydashboard / dashboard.tpl''在/ var / www / clients / client2986 / web12226 / web / tools / smarty / sysplugins / smarty_internal_templatebase.php:127堆栈跟踪:#0 /var/www/clients/client2986/web12226/web/classes/controller/AdminController.php(1152):Smarty_Internal_TemplateBase-> fetch()#1 / var / www /clients/client2986/web12226/web/classes/controller/Controller.php(185):AdminControllerCore-> display()#2 /var/www/clients/client2986/web12226/web/classes/Dispatcher.php(348): ControllerCore-> run()#3 /var/www/clients/client2986/web12226/web/admin11/index.php(50):DispatcherCore-> dispatch()#main 在/ var / www / clients /中抛出client2986 / web12226 /网络/工具/智者/ sysplugins / smarty_internal_templateba第127行的se.php
class AdminMyDashboardController extends ModuleAdminController
{
public $searchflag = 0;
public $datefrom = 0;
public $dateto = 0;
public $orderstatus = 0;
public $datalist = array();
public function __construct()
{
// Set variables
$this->table = 'my_table';
$this->className = 'MyDashboard';
$this->actions = array('mysearchorder', 'myresetsearchorder');
// Set context
$this->context = Context::getContext();
$this->context->controller = $this;
$this->bootstrap = true;
parent::__construct();
$this->meta_title = $this->l('My Dashboard');
$this->toolbar_title[] = $this->meta_title;
}
public function initContent()
{
parent::initContent();
$this->loadObject(true);
// Order List
$this->datelist = $this->object->getDataList();
$this->context->smarty->assign('datalist', $this->datelist);
//Search flag
$this->context->smarty->assign('searchflag', $this->searchflag);
$this->setTemplate('dashboard.tpl');
}
public function setMedia()
{
$sepa = DIRECTORY_SEPARATOR;
$css_directory = $sepa.'modules'.$sepa.MyCommon::getModuleName().$sepa.'views'.$sepa.'css'.$sepa.'mydashboard.css';
$this->addCSS($css_directory, 'all');
$js_directory = $sepa.'modules'.$sepa.MyCommon::getModuleName().$sepa.'views'.$sepa.'js'.$sepa.'mydashboard.js';
$this->addJS($js_directory, 'all');
return parent::setMedia();
}
/**
* postProcess
*
* @param mixed $token
* @return void
*/
public function postProcess($token = null)
{
$this->loadObject(true);
parent::postProcess($token);
}
}
1 回答
问题在这里/ var / www / clients / client2986 / web12226 / web / admin11 / themes / default / template // var / www / clients / client2986 / web12226 / web / modules / mydashboard / views / templates / admin / mydashboard / dashboard .tpl
我想你的MyCommon :: getModuleName()不会返回你期望在这里使用的路径 .