0

このバージョンで新しいものが必要なため、Prestashopの最新ベータ版(1.5 RC)に基づいたプロジェクトに取り組んでいます。

もちろん、本番環境に移行する前に、Webサイトは公開時に安定版1.5バージョンに更新され、次の安定版リリースで最新の状態に保たれる予定です。

デザインは特定のものであるため、モジュールを配置するためのカスタムフックを作成する必要がありました。私を悩ませているのは、私のモジュール(特に、Prestashopに付属している「デフォルト」のモジュール)には、作成したフックに配置できるようにするために必要なメソッドが論理的にないことです。

これらのメソッドをPHPファイルに追加しましたが、Prestashop(または関連するモジュール)が更新されると、変更が破棄され、もう一度書き直す必要があります。

独自のコードを直接変更せずに、これらのモジュールを必要なフックに配置できるようにする方法はありますか?モジュールのPHPファイルをオーバーライドすることはできません。TPL、CSS、およびJSでのみオーバーライドできます。

どんな助けでも大歓迎です。Prestashop自身のフォーラムで関連トピックを検索すると、merはあなたがそれを行うことはできないと思います...

4

1 に答える 1

2

smartyプラグインを使用して、テーマ内の任意の場所でモジュールフック関数を呼び出すことにより、フックを追加する際の問題を回避しました。Prestashopプラグインと呼ぶのに役立つかもしれない記事をブログに書きました。明らかに、コードを拡張して、追加のパラメーターの受け渡しなどを含めることができます。実装すると、tplファイルで次のようなことができます。

「HomeFeatured」モジ​​ュールのhookHome関数を表示(つまり呼び出す)するには

{plugin module='homefeatured' hook='home'}

設定変数の値を表示するには(ハードコードされた値の変更をどこにでも保存するのに便利です!)

{psconfig item='PS_SHOP_PHONE'}

そして最後に(例の限りでは)CMSページのコンテンツを表示します。

{cmspage id='1'}

クリエイティブストアの開発者にとって、可能性は無限大です;)

于 2012-07-31T22:22:47.037 に答える