2016-09-13 9 views
0

コードをレンダリングして製品ページにフックするプラグインを作った。私はそれをより柔軟にして、製品説明の特定の場所でそのビューをフックしたいです。Prestashop - ビューからショートコードを作成

ショートコードにする方法があるので、[blablabla]を商品説明に入れて特定のビューでレンダリングできますか? (do_shortcode()相当のWordpress)

これまでのところ、私はそれを製品説明の最後に引っ掛けて表示しています。

public function hookDisplayProductTab() { 
    return $this->display(__FILE__, 'maps.tpl'); 
} 

問題はMVC環境でどのように動作するのかわかりません。 Prestashopのフックを使ってコードをレンダリングするだけです。私はどこから始めるべきか、どんなタイプのコンセプトを使うことができないのか分かりません。

+0

これまでに試したことをお見せください。スタックオーバーフローはコード作成サービスではありませんが、少なくともあなた自身で問題を解決しようとすると、人々はあなたを助けてくれるでしょう。 [最小限で完全で検証可能なサンプルを作成する方法](http://stackoverflow.com/help/mcve)と[どのように良い質問をしますか?](http://stackoverflow.com/help)を参照してください。 /尋ねる方法)。 – sarcom

+0

問題は、mvc環境でどのように動作するのかわかりません。私は単にコードをレンダリングするためにプリスタッシュのフックを使うだけです。私はどこから始めるべきか、どんなタイプのコンセプトを使うことができないのか分かりません。 – irondnb

答えて

0

displayProductTabフックを呼び出すすべてのモジュールhtmlの位置を変更する場合は、をproduct.tplの中に置き、目的の位置に配置します。

displayProductTabレンダリングの順番を変更する場合は、バックオフィスメニューModules -> Positionsに行き、productTabの位置を検索してください。この位置にフックされたモジュールが表示され、それらの表示順序を変更することができます。

モジュールのフックを特定の場所で呼びたい場合は、このようなテンプレート内でフックを呼び出すことができます。

{hook h='displayProductTab' mod='yourmodulename'} 

これは、テンプレート内でモジュールのhookDisplayProductTab()を実行します。たとえば、すべてのモジュールのフックを実行する場合は、mod='yourmodulename'の部分を削除します。

{hook h='displayProductTab} 

特定のパラメータをフック内で使用したい場合は、それらを指定できます。

{hook h='displayProductTab' mod='mymodulename' cur_page=$page_name} 

あなたはあなたのフックでパラメータにアクセスできます。

public function hookDisplayProductTab($params) 
{ 
    $myParam = $params['cur_page']; 
} 
+0

すごく、それから始めるつもりです。残念ながら私はそれを投票することはできません;) – irondnb

+0

しかし、それがあなたのために働いた場合は、答えとしてマークすることができます。 – TheDrot

関連する問題