Drucken

Wie kann man bei KISS Advertiser benutzerdefinierte Felder erstellen?

Die PRO Version von KISS Advertiser 2.5.x bietet die Möglichkeit, benutzerdefinierte Formularfelder zu erstellen. Damit kann der Anzeigenmarkt um bestimmte, branchenspezifische Funktionen erweitert werden. Benutzerdefinierte Felder sind nur in der PRO-Version verfügbar, nicht in der kostenlosen GPL Version.

Vorbemerkungen

1. Was ist ein benutzerdefiniertes Feld?

Ein Feld ist eine Stelle im Eingabeformular, an der Sie Informationen eingeben können. Es gibt verschiedene Typen von Feldern, z.B. ein Textfeld für 'Name, Vorname' oder ein ganzes Editorfeld mit formatierbarem Text für eine Detailbeschreibung. Außerdem Dropdownfelder für eine Auswahlliste oder sogenannte boolsche Schalter (Ja/Nein). KISS Advertiser bringt standardmäßig über 30 vordefinierte Felder mit, die eine große Bandbreite abdecken. Für spezielle Aufgaben benötigt man jedoch zusätzliche Felder, die standardmäßig nicht vorhanden sind. Wollen Sie z.B. einen Automarkt betreiben, wären Felder für Ausstattungsmerkmale oder Motorleistung sinnvoll. Zu diesem Zweck können Sie selbst eigene, also benutzerdefinierte Felder erstellen.

2. Wie sind Felder organisiert?

Ein Feld wird einer Erweiterung zugeordnet. Standardmäßig gibt es vier Erweiterungen, die in den Feldeigenschaften definiert werden können. Sie können mehrere Felder erstellen und sie einer Erweiterung zuordnen. Die Erweiterung wird später einer Kategorie zugeordnet. Nehmen wir an, Sie wollen einen Anzeigenmarkt betreiben. In einer Kategorie sollen Kraftfahrzeuge angeboten werden. In einer anderen Kategorie Immobilien. Sie können jetzt eigene Felder erstellen (z.B. PS, Motorleistung, Verbrauch etc.) und sie der Erweiterung 1 (z.B. Kraftfahrzeuge) zuordnen. Weitere Felder (z.B. Quadratmeter, Wohnlage, Grundstücksgröße etc.) ordnen Sie der Erweiterung 2 (z.B. Immobilien) zu. Dies stellt sicher, dass Sie im Anzeigenmarkt in der Kategorie 'Immobilien' keine Felder für Kraftfahrzeuge angezeigt bekommen - die ja hier nicht nötig sind. Die Erweiterung 1 ordnen Sie später der Kategorie Kraftfahrzeuge, die Erweiterung 2 der Kategorie Immobilien zu.

 

3. Unterstützen Felder auch mehrere Sprachen?

Ein Feld besteht aus dem Feld selbst, dem Feldtext und dem Feld-Hilfetext. Der Feldtext und Feld-Hilfetext kann in mehreren Sprachen angezeigt werden. Wenn Ihre Website nur einsprachig ist, können Sie den Text einfach in der Feldbearbeitung eingeben. Wenn Ihre Website mehrsprachig ist, muss der Text in einer Übersetzungsdatei eingetragen werden. Im Feldtext bzw. Feld-Hilfetext stehen dann Platzhalter, die auf die Übersetzung hinweisen. Je nach Sprache des Benutzers wird dann ein anderer Text angezeigt.

 

Joomla organisiert seine Sprachtexte in Sprachdateien. Diese befinden sich im Verzeichnis language/de-DE. Für KISS Advertiser heißt die Datei z.B. de-DE.com_ksadvertiser.ini. Hier sind die sogenannten Sprachressourcen von KISS Advertiser gespeichert. Wenn Sie eigene Texte erstellen, müssen diese in sogenannten Override-Dateien gespeichert werden, denn sonst würde bei jedem Update von KISS Advertiser Ihre Änderung überschrieben werden. Für Overrides gibt es das Verzeichnis language/overrides. In der Datei de-DE.override.ini speichern Sie Ihre eigenen Texte, diese werden dann bei einem Update nicht überschrieben. Wir zeigen Ihnen in diesem Tutorial, wie Sie mehrsprachige Felder erstellen können.


 Einen Sprachen-Override erstellen

Schritt 1 - Sprachenoverride erstellen und speichern

Wenn Sie auf Ihrer Website nur eine Sprache anbieten (keine Mehrsprachigkeit), können Sie zur nächsten Seite weitergehen.

Was ist ein Sprachen-Override?

Nehmen wir einmal an, Sie möchten die Beschriftung eines 'Abbruch' - Buttons in deutsch oder englisch anzeigen lassen, je nachdem, welche Sprache der Benutzer gerade eingestellt hat. In Englisch würde es heißen: 'Cancel', in Deutsch 'Abbruch'. Damit der Text an der gewünschten Stelle angezeigt werden soll, muss Joomla an dieser Stelle einen Platzhalter finden -der für alle Sprachen gleich ist-, um dann zu entscheiden, in welcher Sprache der Text angezeigt werden soll - abhängig von der Sprache Benutzers, der gerade vor dem Bildschirm sitzt. Für deutsch und englisch haben Sie zwei Sprachdateien, in denen Sie jeweils den Sprachenoverride einsetzen müssen. Den Platzhalter nennt man dabei 'Schlüssel', als 'Text' bezeichnet man den Text in der jeweiligen Sprache.

Warum muss ich ein Sprachen-Override anlegen?

Eigentlich könnte man doch in der Sprachendatei der jeweiligen Komponente (z.B. KISS Advertiser) die zusätzlichen Sprachbefehle einfügen. Warum eine extra Datei anlegen?

Weil jede Komponente bei einem Update auch ihre Sprachdateien auf den neusten Stand bringt. Vom Benutzer hinzugefügte Sprachschlüssel würden dann überschrieben und wären damit verloren. Die Override-Dateien werden jedoch bei Updates nicht überschrieben.

Wie kann ich ein Sprachen-Override erstellen?

Nach dem Klick auf die Funktion 'Sprachen bearbeiten' oder die Funktion 'Sprachen' im Menü 'Erweiterungen' zeigt Ihnen Joomla zunächst alle bereits gespeicherten Sprachenoverrides an. Wenn noch keine Sprachenoverrides gespeichert sind, können Sie mit dem Button 'Neu' ein neues Sprachenoverride erstellen. Wenn Sie ein vorhandenes Sprachenoverride bearbeiten wollen, klicken Sie eines auf der Liste an. Wenn Sie ein neues Sprachenoverride anlegen wollen, wählen Sie zunächst mit der Auswahlbox 'Filter', für welchen Bereich Sie den Override erstellen wollen. Es gibt jeweils zwei Bereiche für jede Sprache zur Auswahl. Site ist der öffentlich sichtbare Bereich Ihrer Seite, also das 'Frontend'. Administrator ist der Verwaltungsbereich Ihrer Seite, zu dem nur dazu berechtigte Besucher Zutritt haben. Wenn Sie den Bereich gewählt haben, klicken Sie auf den Button 'Neu'. In der darauffolgenden Bearbeitungsmaske geben Sie den Sprachschlüssel und den Text für die jeweilige Sprache ein. Nehmen wir einmal an, Sie wollen einen Beschreibungstext für die Farbe der Buttons erstellen.

Sie können dafür einen beliebigen Schlüssel eingeben, hier lautet er: BUTTON_KISS_COLOR_DESC.

Nach diesem Schlüssel wird Joomla suchen, wenn es eine Stelle in einem Formular findet, an der dieser Text angezeigt werden soll. Ist vom Benutzer die Sprache Deutsch eingestellt worden, würde dann der Text 'Stellen Sie hier das Farbschema ...' angezeigt werden. Bei Englisch dann der entsprechende englische Text. Wenn Joomla den Text nicht in der Override Sprachdatei findet, wird der Sprachschlüssel selbst angezeigt. Wenn Sie in einem Formular also einen merkwürdig aussehenden Text entdecken, könnte evtl. die entsprechende Übersetzung fehlen.

Unter den Eingabefeldern wird noch einmal zur Information angezeigt, für welchen Bereich und welche Sprache der Override erstellt wird, sowie die Datei, in der er abgespeichert wird. Diese Angaben können Sie in der Bearbeitungsmaske nicht ändern. Nachdem Sie den Override erstellt haben, klicken Sie den Button 'Speichern' oder 'Speichern und Schließen'. Die Datei mit allen Overrides wird dann neu erstellt und gespeichert.


Kann ich auch vorhandene Felder bearbeiten?

Bereits vorhandene Felder können jederzeit bearbeitet und geändert werden. Es gibt jedoch eine Einschränkung. KISS Advertiser bringt im Auslieferungszustand eigene Formular-Felder mit. Diese werden als Systemfelder betrachtet und sind gewissen Einschränkungen unterworfen. Sie können z.B. nicht gelöscht werden, einige Funktionen sind bei den Systemfeldern nicht verfügbar oder können nicht geändert werden. Systemfelder erkennt man an der ID-Nummer, die in der Liste der Felder ganz rechts angezeigt wird. Ist diese Nummer kleiner als 35, handelt es sich um ein Systemfeld.

Die Einzelfeld-BearbeitungsmaskeWie bearbeite ich ein vorhandenes Feld?

Klicken Sie im Kontrollzentrum auf den Button 'Felder'. Es wird die Liste aller verfügbaren Felder angezeigt. Klicken Sie auf den Namen eines Feldes in der Liste, hier z.B. 'Gewicht'. Sie kommen dann zur Bearbeitungsmaske für ein Einzelfeld.

Ganz oben sehen Sie den Feldnamen. Dieser bezeichnet die Identifikation des Feldes, unter dem es in der Datenbank abgespeichert ist. Einmal festgelegt, kann der Feldname nicht mehr geändert werden.

Titel bezeichnet den Feldnamen, der im Formular angezeigt wird. Geben Sie in das Feld den Schlüssel des Sprachoverrides ein, der für dieses Feld gelten soll. Falls der Override existiert, wird unterhalb des Feldes die Übersetzung angezeigt. Der Titel darf nicht leer sein!

Feldbeschreibung bezeichnet den Text, der als Hilfetext angezeigt wird, sobald der Benutzer im Formular mit der Maus über den Feldtitel fährt. Für mehrsprachige Seiten muss auch hier der Sprachenoverride eingegeben werden.

Bitte beachten:

Für Systemfelder lassen Sie die Texte am besten unverändert, da sie evtl. mehrfach verwendet werden können. Wenn ein Sprachenoverride nicht existiert, wird im Formular der Wert angezeigt, der hier in diesen Textfeldern eingetragen ist.

Zugriffsebene bezeichnet die Benutzergruppe, für die dieses Feld im Formular sichtbar ist.

Standardwert hier kann ein Wert stehen, der automatisch eingetragen wird, wenn das Formular geladen wird.

 Position bezeichnet die Reihenfolge des Feldes im Formular. Je kleiner die Zahl ist, desto höher steht das Feld im Formular.

Feldeigenschaften bearbeiten

Auf der rechten Seite der Bearbeitungsmaske sehen Sie Felder für die unterschiedlichen Feldeigenschaften. Sie können von Feld zu Feld variieren.

In der Gruppe Veröffentlichung gibt es zwei Einstellungen.

Sprache bezeichnet die Sprache, für die das Feld angezeigt wird. Lassen Sie diese Einstellung auf 'Alle', wenn Sie eine mehrsprachige Seite betreiben.

Aktiviert stellt ein, ob das Feld überhaupt angezeigt wird oder nicht. Sie können ein Feld z.B. damit abschalten, wenn es nicht benötigt wird.

Die Gruppe Anzeige regelt das Aussehen des Feldes.

Farbe HG bezeichnet die Hintergrundfarbe des Feldes.

Farbe VG bezeichnet die Vordergrundfarbe des Feldes, also in welcher Farbe z.B. der Text angezeigt wird.

Die Farbeinstellungen beeinflussen nur Textfelder. Die Farbe muss in der Hexadezimalschreibweise eingegeben oder mit dem Farbwähler rechts neben dem Feld eingestellt werden.

Sichtbar stellt ein, ob ein Feld im Formular angezeigt oder verborgen werden soll.

Änderbar stellt ein, ob Daten in einem Textfeld eingegeben und geändert werden können. Wenn diese Einstellung auf 'Nein' steht, wird das Feld angezeigt, die darin befindlichen Daten können aber nicht geändert werden.

Einheit wenn es sich bei dem Textfeld um ein Einheitenfeld handelt, kann hier ein Text eingegeben werden, der die Einheit für den Daten-Wert in diesem Feld bezeichnet. Die Einheit wird dann im Formular hinter dem Eingabefeld angezeigt. In unserem Beispiel für 'Gewicht' könnte hier z.B. 'KG' für Kilogramm stehen.

 

Detailansicht FeldeigenschaftenIn der Gruppe Eigenschaften können folgende Einstellungen vorgenommen werden:

Pflicht stellt ein, ob in dieses Feld Daten eingegeben werden müssen. Steht diese Einstellung auf 'Ja', erscheint eine Fehlermeldung, wenn in diesem Feld keine Daten existieren und die Eintragung kann nicht gespeichert werden.

In Liste zeigen regelt, ob ein Feld in der Auflistung der Eintragungen angezeigt wird oder nicht. Auflistungen haben häufig wenig Platz, insbesondere auf Mobilgeräten. Deshalb können Felder mit dieser Einstellung von der Anzeige in Listen ausgeschlossen werden.

In Detailansicht zeigen regelt, ob ein Feld in der Detailansicht einer Eintragung angezeigt wird.

Diese beiden Einstellungen betreffen nur die Anzeige der Felder, nicht die Dateneingabe. In den Dateneingabeformularen werden die Felder in jedem Fall angezeigt, wenn dies nicht durch andere Einstellungen verhindert wird (z.B. 'deaktiviert' oder 'unsichtbar').

In Kategorie regelt, ob ein Feld in einer bestimmten Kategorie angezeigt wird. Wenn Sie z.B. mehreren Kategorien die gleiche Erweiterung zugeordnet haben, würde das Feld in jeder Kategorie mit dieser Erweiterung angezeigt werden. Wenn Sie jedoch wünschen, dass das Feld nur in bestimmten Kategorien mit dieser Erweiterung angezeigt wird, können Sie hier die Kategorie(n) wählen. Es können mehrere Kategorien gewählt werden. Halten Sie dafür die STRG Taste gedrückt und wählen Sie die Kategorie(n) mit der Maus aus.

Bitte beachten: Für allgemeine Felder sollten Sie diese Einstellung auf 'Alle' belassen. Die Einstellung ist nur wirksam, wenn der Kategorie auch die entsprechende Erweiterung zugeordnet ist. Ebenso funktioniert diese Einstellung für Systemfelder, die keiner Erweiterung zugeordnet sind.

Bei Nullwert zeigen regelt, ob ein Feld in der Listen- oder Detailansicht angezeigt wird, obwohl es keinen Wert oder Null enthält. Dies kann manchmal nicht wünschenswert sein, deshalb kann man die Einstellung hier abschalten.

Suchfeld regelt, ob das Feld im Suchformular des Frontends angezeigt wird. Benutzer können dann Begriffe in dieses Feld eingeben, nach denen gezielt gesucht werden kann.


Ein neues Feld erstellen

Bearbeitungsmaske für ein neues Feld

Klicken Sie im Kontrollzentrum auf den Button 'Felder'. Es wird die Liste aller verfügbaren Felder angezeigt. Klicken Sie auf den Button 'Neu'.

Darauf erscheint eine leere Bearbeitungsmaske für ein Feld. Geben Sie zunächst die erforderlichen Daten in den Hauptfeldern der linken Seite ein.

Feldname: Geben Sie einen Feldnamen ein, unter dem das Feld in der Datenbank gespeichert wird. Der Name muss einzigartig sein. Wenn Sie versuchen, einen Namen einzugeben, der bereits existiert, versucht KISS Advertiser, den Feldnamen zu ändern. Einen einmal eingegebenen Feldnamen können Sie nach Abspeicherung des Feldes nicht mehr ändern.

Titel: Geben Sie einen Feldtitel ein. Wenn Sie vorher einen Sprachenoverride erstellt haben, geben Sie diesen für den Feldtitel hier ein. Die Übersetzung wird bei einer leeren Maske als 'nicht vorhanden' angezeigt. Wenn der Sprachenoverride existiert, wird nach Abspeichern des Feldes hier die dazugehörige Übersetzung angezeigt.

Zugriffsebene: Standardmäßig ist diese auf 'Öffentlich' eingestellt, d.h. jeder kann das Feld im Frontend sehen. Ändern Sie dies nur, wenn Sie wollen, dass das Feld nur einer bestimmten Gruppe von Benutzern angezeigt werden soll. Dann ist es für alle anderen Benutzer unsichtbar.

Position: Standardmäßig ist die Position auf Null eingestellt. Die Anzeigeposition im Eingabeformular wird dann automatisch berechnet. Es ist nicht unbedingt erforderlich, dass Sie hier einen Wert eingeben.

Feldeigenschaften: Auf der rechten Seite des Bearbeitungsformulars können Sie jetzt schon erste Feldeigenschaften einstellen wie unter 'Vorhandene Felder bearbeiten' beschrieben. Das Bearbeiten der Feldeigenschaften ist aber nicht unbedingt erforderlich, da die Feldeigenschaften bereits für die meisten Anwendungen voreingestellt sind. 

Klicken Sie auf den Button 'Speichern und Schließen', um das Feld in der Datenbank zu speichern. Danach kommen Sie zurück zu der Liste der Felder. Um das soeben angelegte Feld zu bearbeiten, wählen Sie es aus der Liste aus. Danach können Sie die restlichen Feldeigenschaften wie unter 'Vorhandene Felder bearbeiten' erstellen bzw. bearbeiten. Anders als bei Systemfeldern haben Sie jetzt weitere Möglichkeiten der Feldeigenschaften. Diese sind im folgenden beschrieben.

Die Feldeigenschaften Feldtyp und FeldformatIn der Gruppe Aussehen können folgende zusätzliche Einstellungen vorgenommen werden:

Feldtyp stellt ein, um welche Art von Feld es sich handelt. Folgende Feldtypen stehen zur Auswahl:

* Wenn Sie 'Auswahlliste benutzerdefiniert' wählen, erhalten Sie ein zusätzliches Textfeld. In dieses Feld können Sie die Auswahlmöglichkeiten eingeben. Es können beliebig viele Begriffe eingegeben werden. Sie müssen durch ein Komma voneinander getrennt sein. Nehmen wir einmal an, Sie würden eine Listbox mit dem Namen 'Besteck' erstellt haben. Dann könnten die Auswahlmöglichkeiten etwa lauten: 'Messer,Gabel,Löffel,Schöpfkelle,Käsehobel,Fleischgabel' usw. Sie können die Auswahlbegriffe auch als Overrides eingeben, um die Liste für jede Sprache angepasst anzuzeigen. Dann müssen Sie anstelle der Begriffe die Overrides hier in der Eigenschaftenliste eingeben, jeweils mit Komma getrennt. Dies würde dann etwa so aussehen 'OVERRIDE_KNIFE,OVERRIDE_FORK,OVERRIDE_SPOON' usw.

 

Feldformat stellt ein, wie der Wert in diesem Feld weiterbearbeitet bzw. später angezeigt wird:

Felder einer Erweiterung zuordnen

Für manche Feldtypen ist das Feldformat vorgegeben und kann nicht geändert werden.

In der Gruppe Eigenschaften kann unter 'Zusätzliche Funktionen' das Feld einer Erweiterung zugeordnet werden. Mit der Zuordnung eines Feldes zu einer Erweiterung kann man es gruppieren und später die gesamte Feldgruppe (eben diese Erweiterung) einer Kategorie zuweisen. Nehmen wir einmal an, Sie haben eine Kategorie namens 'Immobilien' und eine mit Namen 'Autos'. Für die Immobilien haben Sie etwa Felder erstellt wie 'Grundstücksgröße, Wohnfläche, Garten, Garage usw. Diese Felder ordnen sie jetzt der Erweiterung 1 zu. Für Autos haben Sie Felder erstellt wie 'Motorleistung, km-Stand, Bereifung, Sitzheizung usw. Diese Felder ordnen Sie jetzt der Erweiterung 2 zu. 

Danach rufen Sie die Kategorie 'Immobilien' auf und ordnen der Kategorie die 'Erweiterung 1' zu. Das verhindert, dass die Felder, die Sie für die Autos erstellt haben, auch in der Kategorie 'Immobilien' auftauchen, wo sie ja keinen Sinn machen würden.

Momentan sind allgemeine Erweiterungen mit den Namen 'Allgemein', 'Gesuche' und 'Angebote' verfügbar.