亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Prestashop 1.7 的后臺顯示自定義掛鉤

在 Prestashop 1.7 的后臺顯示自定義掛鉤

PHP
蕭十郎 2022-07-22 18:42:29
我正在嘗試在 Prestashop 的默認產品表中顯示一些內容。我已經設法覆蓋了樹枝模板{% extends 'PrestaShopBundle:Admin/Product/CatalogPage/Lists:list.html.twig' %}。我通過在覆蓋的模板中輸入一個隨機字符串來驗證它,它成功地出現在產品列表中。之后,我在我的模塊中創建了一個自定義鉤子:$this->registerHook('displayModProfit');我驗證了該鉤子已在ps_hook數據庫中注冊。它是。我在我的模塊中添加了一個方法,以便顯示帶有鉤子的測試消息。該方法稱為hookDisplayModProfit.然后我{{ renderhook('displayModProfit') }}在覆蓋的list.html.twig模板中使用。但是,它沒有用。在我希望測試消息出現的地方沒有顯示任何內容。我檢查了數據庫并意識到我的模塊沒有附加到鉤子上。我在后臺“職位”選項卡中也找不到鉤子。我對此進行了一些閱讀,人們建議在文件中添加一個custom_hooks條目。theme.yml問題是,我沒有制作特定主題的鉤子。我正在做一個后臺掛鉤。如何將我的模塊附加到它?
查看完整描述

1 回答

?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

在我看來,您只是忘記在添加自定義掛鉤后重置您的模塊。有必要在系統中注冊您的鉤子。或者,也許您沒有在方法中添加 return 語句hookDisplayModProfit。

如果您正確遵循下一個說明,那么一切都應該像魅力一樣工作

  1. 覆蓋你的樹枝模板文件。將具有相同名稱的文件放在模塊內的正確目錄中。在您的情況下,它是your_module/views/PrestaShop/Admin/Product/CatalogPage/Lists/list.html.twig并擴展原始文件{% extends 'PrestaShopBundle:Admin/Product/CatalogPage/Lists:list.html.twig' %}。不要忘記我們只能擴展原始模板中存在的塊。例如:

    {% block product_catalog_form_table_row %}    {{ renderhook('displayModProfit') }} {% endblock %}

  2. 在您的模塊主 php 文件中添加$this->registerHook('displayModProfit')到 install 方法。

    public function install() {    return parent::install() && $this->registerHook('displayModProfit'); }

  3. 在您的主 php 文件中添加一個hookDisplayModProfit帶有 return 語句的方法

    public function hookDisplayModProfit() {    return 'Hello world!'; }

  4. 重置你的模塊以注冊新的鉤子。


查看完整回答
反對 回復 2022-07-22
  • 1 回答
  • 0 關注
  • 127 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號