2017-11-19 12 views
0

私のテーマ(デフォルトの古典的なものではない)にトップバナーを表示しようとしています。Prestashop 1.7.1 - 新しいフックを登録する

具体的に私は(古典的なテーマのように)、これを含めるようにheader.tplを変更します。

{block name='header_banner'} 
    <div class="header-banner"> 
    {hook h='displayBanner'} 
    </div> 
{/block} 

しかしdisplayBannerはそれにモジュールを取り付けるための有効なフックとして表示されません。 フックを別の場所に登録する必要はありますか?もしそうなら、どちらのコードですか?

この質問はさらにthis oneを詳述します。 ありがとう、

答えて

1

フックの登録は、モジュールinstallの方法で行われます。

は、あなたのモジュール、例えば、以下の操作を行うことができます。

public function install() 
{ 
    $installed = (parent::install() && $this->registerHook('displayBanner')); 

    if ($installed) { 
     return true; 
    } else { 
     $this->uninstall(); 

     return false; 
    } 
} 

は、アンインストールして、モジュールを再インストールします。

1

新しいフックをtheme.ymlに追加し、その上にモジュールを設定する必要があります。その後、テーマをデフォルトのデザイン - >テーマ& Logo->デフォルトにリセットします。 theme.yml フック: modules_to_hook: displayBanner: - your_module_name example 警告:それはtheme.ymlファイルに設定されているようなあなたのテーマをリセットした後になります。管理パネルからテーマの外観を変更してtheme.ymlに含めなかった場合、それらは失われてしまいます。

関連する問題