私は、com_contentに対してのみjoomla.edit.paramsレイアウトをオーバーライドする方法を探しています。これは、次のようにレンダリングされます:JLayoutHelper::render('joomla.edit.params', $this)
上:administrator/components/com_content/view/article/tmpl/edit.php
、135行目あたり。
Com_contentコンポーネントに対してのみ異なるレイアウトを使用するにはどうすればよいですか?
Com_contentコンポーネントに対してのみ、edit paramsレイアウトのオーバーライドを作成できます。
一般に、JLayoutシステムは、次のフォルダーでオーバーライドを検索します。優先順位は次のとおりです。
1. templates/mytemplate/html/layouts/com_mycomponent
2. components/com_mycomponent/layouts
3. templates/mytemplate/html/layouts
4. layouts
新しいJLayoutの完全なプレゼンテーションがあります ここ 。
Com_contentのedit.phpテンプレートもオーバーライドする必要があったので、このオーバーライドをどのように実行したかを以下に説明します。
最初に、カスタムレイアウトオーバーライド用の新しいフォルダーを作成する必要があります。 「overrides」という名前のフォルダを作成して、次の場所に配置します。
administrator/templates/isis/html/layouts/overrides
JLayoutHelper:render
メソッドは、joomla.edit.params
レイアウトを探すときに、まずこのフォルダー内を検索します。それをロードするには、overridesフォルダー内に同じ構造を保持する必要があります。したがって、params.phpファイルは次のように配置する必要があります:/overrides/joomla/edit/params.php
次に、記事ビューのedit.phpテンプレートファイルのオーバーライドを作成する必要があります。このファイルからカスタムレイアウトを呼び出します。
Isis temlpateのhtmlフォルダー内に、com_contentオーバーライド用のフォルダーを作成し、「com_content」という名前を付け、次に「article」という名前の記事ビューのテンプレートファイル用のフォルダーを作成します。コンポーネントからedit.phpファイルをコピーして、articleフォルダーにドロップします。
これで、edit.php内で、JLayoutHelper :: renderメソッドを調整して新しいベースパスを渡し、以下のような代替レイアウトを探すことができます。
<?php echo JLayoutHelper::render('joomla.edit.params', $this, $basePath = JPATH_ADMINISTRATOR .'/templates/isis/html/layouts/overrides'); ?>
これは、:administrator/templates/isis/html/layouts/overrides/joomla/edit
フォルダー内のparams.phpレイアウトを探します。
Params.phpをoverridesフォルダー内に配置して次のように呼び出すだけで、物事をより簡単に保つことができます。
<?php echo JLayoutHelper::render('params', $this, $basePath = JPATH_ADMINISTRATOR .'/templates/isis/html/layouts/overrides'); ?>
最後に、新しく作成したフォルダ内にindex.htmlファイルを追加することも忘れないでください。