我已經構建了我的模塊,並創建了一個AdminController,用於創建/更新/刪除/查看列表中的項目。是否可以在Prestashop中的項目列表中添加消息?
在列表頁面中,我希望在麪包屑之後但在表格之前添加一條消息。
我看到有一個可用的鉤子:「displayAdminListBefore」和一個擴展「override_header」的塊,但我不知道如何使它工作!
有人可以指點我在正確的方向嗎?
我已經構建了我的模塊,並創建了一個AdminController,用於創建/更新/刪除/查看列表中的項目。是否可以在Prestashop中的項目列表中添加消息?
在列表頁面中,我希望在麪包屑之後但在表格之前添加一條消息。
我看到有一個可用的鉤子:「displayAdminListBefore」和一個擴展「override_header」的塊,但我不知道如何使它工作!
有人可以指點我在正確的方向嗎?
您可以簡單地將模塊添加到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
鉤子。
要做到這一點,在modules/your_module/views/templates/admin/your_module/helpers/list/list_header.tpl
創建一個新的文件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' ) );
感謝您的反饋。這就是我最終做的,但我想知道:是否有可能在我的控制器中調用鉤子,而不是包含安裝方法的模塊?我的控制器擴展AdminController包含我想要重複使用的信息。 –