3

joomla view 内でプログラムでテンプレートを設定する方法はありますか?

コンポーネントの開発に MVC アーキテクチャを使用しています。フロントエンド側には 2 つのテンプレートがあります。1 ログイン ユーザー用 (テンプレート B) その他の通常の訪問者用 (テンプレート A)。

私が遭遇した問題は、ログインしたユーザー向けの書店があることです。テンプレートはテンプレートBです。本屋さんの中には本を探す機能があります。検索とブック ストアの両方がコンポーネントから読み込まれます。書店はメニュー項目に割り当てられ、テンプレート B でロードされます。しかし、検索ボタンをクリックすると、テンプレート A で結果が表示されます。つまり、テンプレートがテンプレート B からテンプレート A に変更されたことを意味します。

私のサイトのデフォルトのテンプレートはテンプレート B です。メニュー項目を介してテンプレート A を割り当てました。

Joomla 2.5 を使用しています

どうしたの?

4

2 に答える 2

2

同様の問題があり、登録ユーザーとゲストにそれぞれ 2 つのテンプレートを使用していました。ビューを特定のテンプレート内にのみロードしたかったので、プログラムでビュー内のテンプレートを設定/変更する必要Itemidがありました.

  $app = JFactory::getApplication();
  $app->setTemplate('Protostar'); //or whatever your template is named.

これにより、このビュー/レイアウトが特定のテンプレートにのみ読み込まれることを確認できました。でこれを使用して成功しましたが、お使いのバージョンでは機能する可能性があります。

于 2015-06-10T11:06:53.437 に答える
1

これはJSite::setTemplate($template,$templateParams)メソッドを使用して実行できると思いますが、これが キャッシングで機能するかどうかはわかりません。テストする必要があります。

于 2013-06-07T08:38:16.450 に答える