0

まず、私がやろうとしていることを説明しましょう。joomla 3.0では、テンプレートhttp://docs.joomla.org/Help30:Menus_Menu_Item_Text_SeparatorのMenu_Item_Text_Separatorオーバーライドを作成しました。joomlaは、テンプレートごとに1つのデフォルトのテキストセパレーターしか認識しないようです。これは、必要な場合は問題ありません。しかし、理想的には、テンプレートフォルダー内のカスタムのものと、joomlaが認識するデフォルトのものを選択することを選択したいと思います。あなたにこれを知らせるために、これは私がそれを実現するためにしたことです。

  1. 私のテンプレートには、mod_menuというフォルダが入ったhtmlという名前のフォルダがあります。
  2. mod_menuフォルダーには、次のような.phpファイルがあります。

default_separator.php custom_separator.php

  1. 次に、メニューマネージャに移動し、テキスト区切り文字を表示するメニュー項目を編集します。
  2. 次に、「テンプレートスタイル」http://docs.joomla.org/Help30:Menus_Menu_Item_Text_Separatorに移動し、カスタムスタイルを探します。しかし、私はデフォルトのものしか選択できません。

だから、これがjoomlaが機能する方法であり、テンプレートごとに1つのデフォルトしか持てないのではないかと思います。しかし、複数持つことは可能ですか?

どんなアドバイスでも大歓迎です。

よろしく

w9914420

4

3 に答える 3

1

申し訳ありませんが、コメントするには長すぎます。

さて、最初から始めましょう。テンプレートには、templateDetails.xmlファイルで定義された一連のパラメーターがあります。テンプレートスタイルは、テンプレートに関する情報と選択したパラメータオプションの配列を含む単純なレコードです。特定のテンプレートに必要な数のテンプレートスタイルを作成できます。それぞれに独自の名前があります。メニューでは、任意のスタイルを選択してメニュー項目に割り当てることができます。...。

あなたが話していることは、テンプレートスタイルとは何の関係もありません。mod_menuのレイアウトオーバーライドの使用について話している。コアレイアウトファイルと同じ名前のファイルを使用しているため、1:1の置換を取得する必要があります。

私があなたがやりたいことを理解していることから、代わりにdefault_separatorとdefault.phpの両方に新しい名前のreplacemenを作成する必要があります。これは、代替レイアウトフィールドがdefault.phpの代わりにyourname.phpを検索するためです。その代わりに、separatorというテンプレートをロードすると、追加していると想定されるため、default_separatorではなくyourname_separatorが自動的に検索されます。 _separatorをベース名に。これを行うと、より複雑なレイアウトを作成できるようになり、たとえば条件付きでさまざまなサブレイアウトをロードできるようになるなど、いくつかの利点があります。

于 2013-02-15T23:44:06.683 に答える
0

テンプレートのスタイルとメニューモジュールのスタイルを混同していると思います。テンプレートにmod_menuレイアウトの選択を指定するパラメーターがない限り、テンプレートスタイルは役に立ちません。モジュールマネージャーに移動して、スタイルを適用するモジュールを選択します。フィールドを使用して、必要なレイアウトを選択します。または、cssスタイルの場合は、スタイルオプションを使用します。また、本当に必要なのはモジュールクロームを適用することかもしれません。モジュールを編集することで実行できます。レイアウトやスタイルが異なる同じメニューが必要な場合は、そのメニュー用に追加のモジュールを作成することをお勧めします。

于 2013-02-11T06:21:10.507 に答える
0

私は自分がやろうとしていたことを再考しました。私がやろうとしていたことは、私が望んでいた方法では達成できませんでした。テンプレートのパラメーター値をレイアウトオーバーライドにフィードする方法を発見しましたが、その1つのテキストセパレーターのテンプレートを作成することは実用的ではありません。

エリン、ありがとうございました

w9914420に関して

于 2013-07-10T18:14:24.110 に答える