Dokumentation & Hilfe - Templates

Templates bearbeiten

Sämtliche Ausgaben der Komponente basieren auf Templates, welche Sie individuell verändern können um die Ausgabe Ihren Bedürfnissen anzupassen. Das betrifft also die Ergebnistabellen, die Detail-Ansichten und sogar die Texte, die in den Markern auf der Karte zu sehen sind.

Es gibt verschiedene Templates, welche Sie beim Anlegen des Menüpunktes wählen können. Sie können auch weitere Templates anlegen.

Änderungen für vorhandene Templates werden am besten mit Template-Overrides realisiert, damit die eigenen Anpassungen nicht durch Updates automatisch verloren gehen.

Alle Attribute bzw. Informationen, die in den Feldern eines Standorts hinterlegt wurden, stehen in den Templates zur Darstellung zur Verfügung.

Template-Dateien der Ergebnistabelle

AufgabeDateipfad
Ausgabe der Ergebnis-Tabelle Joomla/components/com_filialfinder/views/umkreissuche/tmpl/default.php
vor Änderungen kopieren nach (dort ändern):
Joomla/templates/ihrTemplate/html/com_filialfinder/umkreissuche/default.php
Eingabeformular Startadresse Joomla/components/com_filialfinder/views/umkreissuche/tmpl/default_singleform.php
vor Änderungen kopieren nach (dort ändern):
Joomla/templates/ihrTemplate/html/com_filialfinder/umkreissuche/default_singleform.php
Inhalt der Google Maps Sprechblasen (Übersichtskarte) Joomla/components/com_filialfinder/views/umkreissuche/tmpl/default_mapsmarker.php
vor Änderungen kopieren nach: 
Joomla/templates/ihrTemplate/html/com_filialfinder/umkreissuche/default_mapsmarker.php

 

Template-Dateien der Einzelansicht

AufgabeDateipfad
Detailansicht einer Filiale Joomla/components/com_filialfinder/views/detail/tmpl/single.php
vor Änderungen kopieren nach (dort ändern):
Joomla/templates/ihrTemplate/html/com_filialfinder/detail/single.php
Inhalt der Google Maps Sprechblasen (Detailkarte) Joomla/components/com_filialfinder/views/detail/tmpl/single_mapsmarker.php
vor Änderungen kopieren nach (dort ändern):
Joomla/templates/ihrTemplate/html/com_filialfinder/detail/single_mapsmarker.php

Spalten der Ergebnisliste verändern

Die Ergebnisliste zeigt eine Tabelle mit verschiedenen Spalten. Diese können Sie ganz einfach verändern. Im Template der Umkreissuche (views/umkreissuche/tmpl/default.php) wird zu Beginn ein Array befüllt, welches später zum Aufbau der Tabelle herangezogen wird. Dieses Array sieht folgendermaßen aus:

Datenbankfeld, Bezeichnung, Verlinkung ( 'LINKDETAILS' | 'LINKWEBSITE')
$fields[] = array('distance', 'DISTANCE');
$fields[] = array('name', 'NAME', 'LINKDETAILS');
$fields[] = array('plz', 'ZIPCODE');
$fields[] = array('stadt', 'CITY');

Sie können in dieser Art weitere Felder hinzufügen oder entfernen, um die Ergebnis-Tabelle mit den gewünschten Spalten anzupassen. Sollten Sie also ein neue Spalte im Feld wünschen, beispielsweise die Website, so können Sie einfach eine Zeile ergänzen:

$fields[] = array('website', 'Website');

Wenn Sie eine dieser Zeilen mit einem doppelten Slash // auskommentieren, wird die entsprechende Spalte nicht mehr ausgegeben.

Sollten Sie den Namen anstatt zur Detailansicht zur hinterlegten Website verlinken, so ändern Sie den zweiten Eintrag des Arrays und ersetzen Sie LINKDETAILS durch LINKWEBSITE.

 

Die Detail-Ansicht anpassen

Die Felder der Komponente lassen sich dynamisch im Backend anlegen und von der Reihenfolge sortieren. Aus diesem Grund sind im Template der Singleansicht zwei Schleifen vorhanden, welche diese Felder nach der eingestellten Reihenfolge völlig automatisch nacheinander ausgeben und entsprechend des Inhaltstypes formatieren (z.B. E-Mail Adresse verschlüsselt ausgeben). Eine Unterscheidung wird gemacht zwischen Bildern und den restlichen Feldern. Die Bilder werden in der ersten Schleife ausgegeben, innerhalb des DIV's mit der Klasse "store_images". Anschließend kommen die Inhaltsfelder, umschlossen vom DIV mit der Klasse "store_address".

Normalerweise muss also keine Anpassung vorgenommen werden um ein neu angelegtes Feld ausgeben zu lassen.

Dennoch können Sie selbstverständlich das Template nach Bedarf anpassen. Für eine sehr individuelle Ausgabe, mit einer komplexen HTML-Struktur, kann es von Vorteil sein, auf die automatische Ausgabe durch die Schleifen zu verzichten. In diesem Fall können Sie die Felder fest in ihrer Struktur hinterlegen. Wie das geht erfahren Sie in folgendem Abschnitt.

In der Singleansicht stehen zwei sogenannte Arrays zur Verfügung, welche die gesamten Inhalte gespeichert haben. Das ist einmal das Array "$this->store_fields", welches sämtliche Textinhalte gespeichert hat und einmal das Array "$this->store_images", welches die Daten aller Bilder gespeichert hat.  Wenn man das Template vollkommen unabhängig der vorgegebenen Strukturen gestalten möchte, kann man wie erwähnt auf die vorgegebenen Schleifen verzichten und die Felder manuell in das individuelle Template eintragen. Dazu müssen Sie lediglich wissen wie das Datenbankfeld heißt, welches Sie ausgeben möchten. Diese Information finden Sie im Backend unter Komponenten > Filialfinder > Felder und dann auf der rechten Seite die Spalte Datenbankfeld. 

Den Inhalt eines bestimmten Feldes ausgeben:

echo $this->store_fields['name-des-datenbankfeldes']['content'];
beim Namen der Filiale wäre das dann beispielsweise echo $this->store_fields['name']['content'] bei einem individuell angelegten Feld sieht es dagegen eher so aus echo $this->store_fields['customfield_4d5807727acb']['content'];

Wichtig - ein Feld ist nur verfügbar wenn der Inhalt nicht leer ist. Das bedeutet, wenn Sie selbst die Ausgabe durchführen wollen, sollten Sie vorher überprüfen ob das Feld vorhanden ist.


Beispiel -Feld "Fax" ausgeben wenn Inhalt vorhanden (im Beispiel ohne umschließende DIV-Container)

if(isset($this->store_fields['fax'])) { // Wenn das Array mit den Informationen zum Feld Fax verfügbar

echo $this->store_fields['fax']['label']; // Label des Feldes ausgeben
echo $this->store_fields['fax']['content']; // Inhalt des Feldes ausgeben

}

Innerhalb des Arrays $this->store_fields['name-des-datenbankfeldes'] befindet sich also noch ein Array welches Ihnen folgende Daten liefern kann:

  • 'cid' => id der Filiale
  • 'label' => die hinterlegte Beschriftung des Feldes
  • 'content' => der Inhalt des Feldes
  • 'format' => das Format des Feldes (char = Einzeilig, text = mehrzeilig, email = E-Mail, weblink = Weblink, h1,h2,h3,h4)
  • 'dbfieldname' => Name des Datenbankfeldes
  • 'showlabel' => Label anzeigen (ist 1 wenn das Label angezeigt werden soll)

Dementsprechend erhalten Sie beispielsweise mit dem Eintrag $this->store_fields['name-des-datenbankfeldes']['label'] die hinterlegte Beschriftung für das Feld.

 


CSS anpassen

Sie können die Farben der Komponente sowie die eingesetzten Grafiken mittels CSS verändern.

Automatisch eingebunden wird eine CSS-Datei welche in folgendem Verzeichnis zu finden ist:
Joomla-Installation/components/com_filialfinder/css/style.css

Kopieren Sie diese Datei in folgendes Verzeichnis um Anpassungen vorzunehmen ohne die Komponente verändern zu müssen: 
Joomla-Installation/templates/Ihr-Aktives-Template/html/com_filialfinder/style.css

Die Komponente erkennt automatisch ob diese Datei vorhanden ist und bindet diese dann anstelle der mitgelieferten CSS-Datei ein.

Anschließend müssen Sie die Pfade zu den eingebundenen Hintergrundgrafiken anpassen, da diese nicht mehr stimmen werden!

Falls Sie die Datei kopieren und die original Grafiken weiterhin verwenden möchten müssen Sie die Pfade folgendermaßen ändern...

background:url("../img/suchbutton.gif")
 
...ändern in...
background:url("../../../../components/com_filialfinder/img/suchbutton.gif")

...das gilt auch für die anderen Bildverweise in der kopierten CSS Datei. Selbstverständlich können Sie Ihre eigenen Grafiken einsetzen und die Pfade dann entsprechend anders setzen.

Um schnell festzustellen, welcher CSS-Befehl sich wie auswirkt, empfehlen wir Ihnen das Firefox-Addon Firebug. Mit Hilfe dieser Erweiterung können Sie sich Ihre Umkreissuche anschauen und sich anzeigen lassen, welche Zeile Sie im CSS ändern müssen, um Ihr gewünschtes Ergebnis zu erhalten.