2013-05-29 6 views
5

テンプレートの上書きがわかりました。私はメニューの出力に重い変更を加える必要があります(基本的には、ブートストラップで出力がうまくいくようにします)。私は私が私のmytemplate/html/mod_menuにdefault.phpをコピーし、それを変更したいクラスを変更したい場合はリンク出力の代わりのレイアウトでmod_menuのテンプレートを上書きする方法は?

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

現在のJoomla 3で次はmod_menu/tmplのフォルダにあります。素晴らしいですが、問題ありません。

リンク出力を変更する場合は、default_component.phpをmytemplate/html/mod_menuにコピーして変更することができます。素晴らしいですが、問題ありません。

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

ここで問題です:私はリンク出力は、特定のメニューのために変更されているすべてではなく、それらのしたい場合は、私は私がnewlayout.phpに相当するであろうその上で行ったように私はnewlayout_component.phpdefault_component.phpを変更したい把握...しかし、それはdoesnの仕事はありません。

質問:

1)がどのようにdefault_component.phpdefault_heading.phpdefault_separator.phpdefault_url.phpテンプレートファイル(だけではなく上書き)のそれぞれのための代替レイアウトを持っていますか?

2)私はdefault_url.phpがリンクの出力に影響するものだと思いますが、それはdefault_component.phpと思われます。では、それぞれのことは何をしていますか?私はそれについてjoomla.orgに関する情報を見つけることができませんでした。

ありがとうございます!

答えて

6
  1. 代替レイアウト機能は、メインファイル(default.php)のために、ではないサブレイアウト(default_component.php、...)のために働きます。だから自分でnewlayout.phpを作成してからnewlayout_component.phpをロードするか、default_component.phpを使う必要があります。実際、newlayout_component.phpが見つからない場合、default_component.phpはフォールバックとして使用されます。
  2. コードはリンクの$item->typeで切り替わります。 'separator','url','component'および'heading''default_'.$item->typeによって処理され、それ以外はdefault_urlが使用されます。したがって、実際にはdefault_component.phpではなく、default_url.phpでプレーンURLを生成する必要があります。それが違う場合は、バグかもしれません。
+0

うわー....時には答えがちょっと単純です。気をつけてください。一口。 – Gisto

+0

そして、完全に追加するのを忘れてしまった - あなたは岩、ありがとう! – Gisto

関連する問題