it-swarm.com.de

JLayout: Überschreibt das Layout von joomla.edit.params nur für com_content

Ich suche nach einer Möglichkeit, das joomla.edit.params-Layout nur für den com_content zu überschreiben, der mit dem folgenden Befehl gerendert wird: JLayoutHelper::render('joomla.edit.params', $this)
auf der:
administrator/components/com_content/view/article/tmpl/edit.php, ungefähr in Zeile 135.

Wie kann ich ein anderes Layout nur für die Komponente com_content verwenden?

2
FFrewin

Es ist möglich, nur für die Komponente com_content eine Außerkraftsetzung für das Layout edit params zu erstellen.

Im Allgemeinen sucht das JLayout-System in den folgenden Ordnern nach Überschreibungen mit der angegebenen Prioritätsreihenfolge:

1. templates/mytemplate/html/layouts/com_mycomponent
2. components/com_mycomponent/layouts
3. templates/mytemplate/html/layouts
4. layouts

Es gibt eine gründliche Präsentation des neuen JLayout hier .

Im Folgenden werde ich beschreiben, wie ich dieses Überschreiben durchgeführt habe, da ich auch das edit.php-Template für den com_content überschreiben musste.

Zunächst müssen Sie einen neuen Ordner für die benutzerdefinierten Layoutüberschreibungen erstellen. Ich würde wählen, einen Ordner mit dem Namen "Overrides" zu erstellen und es in:

administrator/templates/isis/html/layouts/overrides

Das JLayoutHelper:render-Methode sucht zuerst in diesem Ordner nach dem joomla.edit.params Layout. Um es zu laden, müssen Sie dieselbe Struktur im Überschreibungsordner beibehalten. Also sollte die Datei params.php so platziert werden: /overrides/joomla/edit/params.php

Anschließend müssen Sie eine Außerkraftsetzung für die Vorlagendatei edit.php der Artikelansicht erstellen, von der aus Sie das benutzerdefinierte Layout aufrufen.

Erstellen Sie im HTML-Ordner der isis-Vorlage einen Ordner für die Überschreibungen von com_content, nennen Sie ihn "com_content" und dann einen Ordner für die Vorlagendateien der Artikelansicht mit dem Namen "article". Kopieren Sie die Datei edit.php aus der Komponente und legen Sie sie im Artikelordner ab.

Jetzt können Sie in der edit.php die JLayoutHelper :: render-Methode anpassen und einen neuen Basispfad übergeben, um nach dem alternativen Layout wie folgt zu suchen:

<?php echo JLayoutHelper::render('joomla.edit.params', $this, $basePath = JPATH_ADMINISTRATOR .'/templates/isis/html/layouts/overrides'); ?>

Dies wird nach einem params.php-Layout suchen, innerhalb des: administrator/templates/isis/html/layouts/overrides/joomla/edit Mappe.

Sie können die Dinge einfacher gestalten, indem Sie einfach die Datei params.php in den Ordner overrides legen und wie folgt aufrufen:

<?php echo JLayoutHelper::render('params', $this, $basePath = JPATH_ADMINISTRATOR .'/templates/isis/html/layouts/overrides'); ?>

Denken Sie zum Schluss daran, auch index.html-Dateien in einen neu erstellten Ordner einzufügen.

JLayout Nützliche Links:

  1. JLayout Präsentation im Joomla Magazine
  2. Layouts über Ansichten oder Erweiterungen hinweg teilen - Tutorial
  3. Joomla: Layout API
3
FFrewin