2014-04-16 38 views
0

我已經構建了我的模塊,並創建了一個AdminController,用於創建/更新/刪除/查看列表中的項目。是否可以在Prestashop中的項目列表中添加消息?

在列表頁面中,我希望在麪包屑之後但在表格之前添加一條消息。

我看到有一個可用的鉤子:「displayAdminListBefore」和一個擴展「override_header」的塊,但我不知道如何使它工作!

有人可以指點我在正確的方向嗎?

回答

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鉤子。

要做到這一點,在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' ) );

+0

感謝您的反饋。這就是我最終做的,但我想知道:是否有可能在我的控制器中調用鉤子,而不是包含安裝方法的模塊?我的控制器擴展AdminController包含我想要重複使用的信息。 –

相關問題