2

テンプレートからコントローラーの特定の機能をトリガーするにはどうすればよいですか。検索モジュールがあり、ユーザーがボタン検索をクリックした後、いくつかのアクションを実行したいとしましょう (何か間違っている場合は、注意してください)。

  1. フォームを処理します (Tools::getValue('name_of_variable') を投げることができることを学びました)。

  2. 評価してDB検索を行う必要があるフォーム。カスタム関数にない場合、コードをどこに配置すればよいですか。しかし、この正確な機能が確実にトリガーされるようにする方法。カスタムphpファイルでは、そのファイルを呼び出すたびに繰り返し呼び出されるメインコード以外のコードがないため、簡単です。しかし、ここでは正確に 1 つの関数だけを呼び出したいと思います。

または、DB と smarty インターフェイスを使用するためにどのファイルを含める必要があり、生の PHP コードをスローすることができます。

私はこれで約2週間立ち往生しているので、私を助けてください.

ありがとう

4

1 に答える 1

0

「actionSearch」と呼ばれる検索用の特定のフックがあります。

  • モジュールを作成する
  • install() メソッドで、$this->registerHook('actionSearch'); を呼び出します。
  • 関数 hookActionSearch() で、コードを実装します
  • 何かを smarty に割り当てたい場合は、Context::getContext()->smarty->assign() でグローバル スコープを使用します。
  • これらの変数を Smarty で使用する場合は、どこに表示するかによって異なります...

たとえば、モジュール StatsSearch はこのフックを実装しています。

于 2013-08-21T07:36:50.480 に答える