Joomla にはたくさんのカテゴリとアイテムがあり、カテゴリの 1 つを他のカテゴリとは異なるものにしたい - これらのカテゴリ アイテムは異なるレイアウトを使用する必要があります。拡張機能は使用していませんcom_content
。のコピーを作成しようとしましdefault.php
た/components/com_content/views/article/tmpl
が、カテゴリに割り当てることができません。どんな助けでも大歓迎です。モジュールに新しいレイアウトを追加する方がはるかに簡単なようです。または、何か間違っているだけかもしれません。
3 に答える
私はこれを試したことはありませんが、最初にテンプレートのオーバーライドを行う必要があると思います。これがどのように行われるかは、以下のリンクから確認できます。
http://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core
次に、default.php に以下を追加してみてください。
if (JRequest::getVar('id')=='22' && JRequest::getVar('view')=='category' && JRequest::getVar('option')=='com_content') {
//layout for category goes in here
}
else {
//default category layout
}
もちろん、レイアウトを変更したいカテゴリに変更22
する必要があります。ID
1.6 以降では、代替レイアウトはレイアウト オーバーライドのように機能しますが、別の名前のファイルに保存されます。したがって、default.php と呼ばれる代わりに、myalternatelayout.php と呼ばれることがあります。アイテムを作成または編集すると、アイテムに代替レイアウトが割り当てられます。
代替メニュー項目レイアウトでは、php ファイルと xml タイトルの両方を同じ名前で作成する必要があるため、myalternatemenulayout.php と myalternatemenulayout.xml. これらは、新しいメニュー項目を作成するときに表示されます。
あなたがやりたいことがプログラムでレイアウトを割り当てることであるかどうかは少しわかりませんので、毎回行う必要はありません。私はおそらくプラグインを使用してそれを行うでしょう。
以下のリンクを試して、特定のメニュー項目に別のテンプレートを割り当てることができます。categorylist
メニュー マネージャーからメニュー項目のメニュー タイプを割り当て、テンプレート マネージャーから特定のメニューにテンプレートを割り当てることができます。既定のテンプレートを個々のページに割り当てることはできないことに注意してください。詳細については、次のリンクを参照してください。