Ändern/Anpassen von Extension Templates - JYAML - Joomla! Templates mit Yaml

There are no translations available

extensionbrowser.gifÄndern/Anpassen von Extension Templates 

Durch das in Joomla 1.5 neu integrierte MVC Architekturmuster ist es nun möglich HTML-Layouts einer Erweiterung über das Templates zu verändern.

Die JYAML Komponente bietet hierzu einen kleinen Explorer zum durchsuchen von Erweiterungen. Dieser dient dazu um bereits veränderte Layouts zu bearbeiten oder auch noch nicht verwendete hinzuzufügen. Dieser kann aber nur Erweiterungen anzeigen, die in der Verzeichnisstruktur den Joomla! Core-Erweiterungen gleichen.

Hinweis:
Bei zusätzlichen Erweiterungen muss diese dem Joomla MVC Standard entsprechen, sonst ist das verändern des Layouts über das Template nicht möglich. Dies hängt natürlich vom jeweiligen Entwickler einer Erweiterung ab.

Der HTML-Erweiterungs Explorer

In der JYAML Komponente ist auf der rechten Seite der kleine Explorer zu finden mit der Überschrift "HTML Erweiterungs Templates".

Wenn man auf das Verzeichnis /html/ klickt bekommt man alle bereits verwendeten Layouts angezeigt. Um ein Layout verändern zu können muss man lediglich auf eine Datei klicken und schon öffnet sich der Syntax Editor und man kann das Layout ändern und neu abspeichern.

Klick man auf "Nicht benutzte Erweiterungs Vorlagen", dann werden alle Erweiterungen angezeigt die noch nicht hinzugefügte bzw. veränderte Layouts beinhalten. Hier öffnet man wiederrum mit einem Klick auf den Dateinamen das Layout. Nur mit dem Unterschied dass es dieses jetzt beim Abspeichern im entsprechenden Template neu angelegt wird. Dies erkennt man daran, dass beim Syntax Editor eine zusätzliche Zeile "Save File" erscheint. Dies ist der Pfad wohin gespeichert wird. Nach dem Speichern ist das Erweiterungs Layout dann entsprechend in /html/ zu finden.

JYAML PHP-Objekt verwenden

Das Template bzw. das zugehörige JYAML System Plugin ist so ausgelegt das man das $jyaml PHP-Objekt weiterverwenden kann. Man muss dazu lediglich ein das Obejkt aus der Globalen Umgebung holen. Dies geschieht ganz einfach mit dem PHP-Befehl global $jyaml;.

Folgend ein Beispiel anhand von mod_breadcrums, wie man das JYAML Objekt sinnvoll anwenden kann.

<?php
defined('_JEXEC') or die(); 

// $jyaml verfügbar machen
global $yaml;

?>
<span class="breadcrumbs pathway">
<?php
for ($i = 0; $i < $count; $i ++) :

  if ($i < $count -1) {

    if(!empty($list[$i]->link)) {
      echo '<a href="'.$list[$i]->link.'" class="pathway">'.$list[$i]->name.'</a>';
    } else {
      echo $list[$i]->name;
    }

    // Original Seperator ausblenden
    // echo ' '.$separator.' ';

    // Stattdessen ein Bild verwenden - Hier wird $jyaml angewandt
    echo ' <img src="'.$yaml->imagePath.'/pathway.gif" alt="" width="9" height="9" /> ';

  } else { 
    // when $i == $count -1
    echo $list[$i]->name;
  }
endfor;
?>
</span>

In Zeile 5 wird das $jyaml Objekt verfügbar gemacht und kann nun verwendet werden. In Zeile 24 wird dann die Variable imagePath ausgelesen. Mehr Variablen und Methoden finden Sie in der JYAML API Referenz.