我已经构建了我的模块,并创建了一个AdminController,用于创建/更新/删除/查看我的表中的项目。
在列表页面中,我想在面包屑之后但在表格之前添加消息。
我看到有一个可用的钩子:" displayAdminListBefore"以及一个扩展" override_header"的块,但我不知道如何让它工作!
有人可以指出我正确的方向吗?
答案 0 :(得分:2)
您只需将模块添加到displayAdminListBefore
挂钩。
首先使用安装功能将模块挂钩到此挂钩:
public function install()
{
if (!parent::install() || !$this->registerHook('displayAdminListBefore'))
return false;
return true;
}
然后创建钩子函数:
public function hookDisplayAdminListBefore($params)
{
return '
<div class="bootstrap">
<div class="alert alert-success">
<button data-dismiss="alert" class="close" type="button">×</button>
Add your text here
</div>
</div>
';
}
或者,您也可以使用.tpl:
public function hookDisplayAdminListBefore($params)
{
$this->smarty->assign(array(
'first_var' => $first_var,
'second_var' => $second_var',
));
return $this->display(__FILE__, 'views/templates/admin/listbefore.tpl');
}
最好的方法是覆盖list_header.tpl
并使用override_header
挂钩。
为此,请在list_header.tpl
modules/your_module/views/templates/admin/your_module/helpers/list/list_header.tpl
在此文件中复制以下代码:
{extends file="helpers/list/list_header.tpl"}
{block name="override_header"}
Your text
{$your_var}
{/block}
$your_var
中的控制器中定义 renderList()
:
$this->context->smarty->assign(
array(
'your_var' => 'your_var_value'
)
);