7

テンプレートの上書きを理解し、気に入っています。メニュー出力にいくつかの大きな変更を加える必要があります (基本的には、出力が Bootstrap でより適切に機能するようにします) - ただし、特定のメニューに対してのみです。

現在、Joomla 3 のmod_menu/tmplフォルダーには次のものが含まれています。

default.php
default_component.php
default_heading.php
default_separator.php
default_url.php

クラスを変更したい場合は、default.php を my にコピーしてmytemplate/html/mod_menu変更します。問題ありません。

それに合わせてリンク出力を変更したい場合は、default_component.php をコピーしてmytemplate/html/mod_menu変更できます。問題ありません。

別の「代替レイアウト」を選択したい場合は、名前を に変更しmytemplate/html/mod_menu/default.phpnewlayout.phpそのメニューの管理モジュール マネージャーで選択します。問題ありません。

default_component.php問題は次のとおりです。すべてではなく特定のメニューのリンク出力を変更したい場合、newlayout_component.php上記のように変更すると...に対応するようになりnewlayout.phpますが、それは機能しません。

質問:

default_component.php1) 、default_heading.phpdefault_separator.phpdefault_url.phpテンプレート ファイル (上書きだけでなく)ごとに別のレイアウトを使用するにはどうすればよいですか?

default_url.php2)リンク出力に影響を与えるものだと思いますが、そうでdefault_component.phpあるようです。では、それぞれが何をするのでしょうか。それに関する joomla.org の情報は見つかりませんでした。

ありがとう!

4

1 に答える 1

9
  1. 代替レイアウト機能はメイン ファイル ( default.php) でのみ機能し、サブレイアウト ( default_component.php、...) では機能しません。そのため、newlayout.phpをロードnewlayout_component.phpするか、default_component.php. 実際、default_component.phpnewlayout_component.php が見つからない場合は、フォールバックとして使用されます。
  2. $item->typeコードはリンクの を切り替えます。'separator''url''component'および'heading'は によって処理され、'default_'.$item->type他のすべては を使用しますdefault_url。したがって、プレーンな URL は実際にはdefault_url.phpではなくによって生成されるべきdefault_component.phpです。動作が異なる場合は、バグである可能性があります。
于 2013-05-31T09:16:43.450 に答える