0

こんにちは!コンポーネントのオーバーライドを使用するjoomlaテンプレートがたくさんあります。一部の記事ではデフォルトのテンプレートを使用し、他の記事では「?template=zzz」を含む他のテンプレートを使用します。テンプレート「zzz」からのデフォルトの「zzz」オーバーライド以外のオーバーライドを使用するにはどうすればよいですか。

例:「LoremIpsum」という記事があり、「zzz」という名前のテンプレートを割り当てたいと思います(!!!「ZZZ」はWebサイトのデフォルトのテンプレートではなく、メニューに割り当てられていません!!!) 、次に記事のURL "?template=zzz"を付けます。現在、「LoremIpsum」は「zzz」という名前のテンプレートを使用しています。「zzz」テンプレートフォルダには、com_content-> article(default.php、myskinarticle.php、otherskin.phpなど)のオーバーライドがあり、「Lorem Ipsum」の記事、ZZZからのオーバーライド(デフォルトのテンプレートではなく、menuに割り当てられていません)、「otherskin」という名前です。それは「?template = zzz&override=otherskin」のようなものだと思います。

これどうやってするの?

4

1 に答える 1

2

「レイアウト」パラメータを使用する必要があると思います:

http://docs.joomla.org/Component_Views_and_Templates

したがって、あなたの例は ?template=zzz&layout=otherskin かもしれません

編集:

別のアプローチは、(URL のパラメーターに応じて) コンテンツを切り替えて目的のテンプレートを表示するプラグインを作成することです。

見て:

http://docs.joomla.org/Plugin/Events/Content#onBeforeDisplay

これにより、表示前にコンテンツにフックできます。

JFactory::getDocument() メソッドにアクセスして、次のようなプログラムを使用してテンプレートを設定できます。

$doc=&JFactory::getDocument(); 
$doc->setTemplate("my_template_name");

幸運を!

于 2013-01-07T09:27:15.237 に答える