Eingabefelder hinzufügen

Kapitel 7

Eingabemaske erweitern

Mit Eingabefelder können wir die Eingabemaske der Datensätze erweitern. Diese Eingabefelder dienen uns in erster Linie als Meta Informationen. Wir können aber auch die zusätzlichen Eingabefelder im Template ausgeben.

Eingabefeld für Eingabemaske erstellen

Eingabefeld erstellen

Als erstes gehen wir zu unserem Backend Modul > F Modul. Wir sehen unsere Module alphabetisch sortiert. Wir wählen ein Modul aus und klicken auf Filter Eingabefelder bearbeiten ( Trichter Symbol ). Auf der Folgeseite klicken wir auf Filter - Eingabefeld anlegen und erzeugen damit ein neues Eingabefeld. Es öffnet sich eine neue Eingabemaske.

Eingabefeld > Eingabemaske - Feldtypen (Filter Typ)

Eingabefeld > Eingabemaske - Feldtypen (Filter Typ)

Wir sehen eine Eingabemaske mit einigen Input Feldern, welche wir ausfüllen müssen. Als erstes wählen wir für uns geeigneten Eingabetyp aus. Es gibt folgende Eingabetypen:

  • Einfache Auswahl Wir können dem Redakteur eine vordefinierte Auswahlliste aus Werten definieren. Er kann ein Wert je einem Datensatz zu ordnen. Im Filter Formular wäre es eine 1:1 Verknüpfung.
  • Mehrfache Auswahl Funktioniert wie Einfache Auswahl mit dem Unterschied, dass der Redakteur jedem Datensatz mehrere Werte zuweisen kann. Im Filter Formular wäre es eine 1:n Verknüpfung.
  • Textfeld Mit einem Textfeld kann der Redakteur jedem Datensatz einen individuellen Wert zuweisen. Dieser Wert kann ein einzelner Buchstabe oder ein Text sein. Des weiteren kann der Textfeld für Zahleneingabe verwendet werden. Damit kann der Redakteur jedem Datensatz einen Zahlenwert zuweisen. Im Filter Formular wird für die Operatoren eine zusätzliche Select Box eingeblendet.
  • Datum Ein Datum Eingabefeld verhält sich wie ein Textfeld mit Zahleneingabe. Einem Redakteur wird ein Date Picker zu verfügung gestellt. Damit kann er unkompliziert jedem Datensatz ein Datum zuweisen. Im Filter Formular kann man die Datensätze nach dem Datum Sortieren oder Filtern.
  • Volltextsuche Die Volltextsuche ist auf 2 Felder beschränkt. Einmal der Titel und die Beschreibung.
  • Schalter Eingabefeld für Beiträge hervorheben. Wir kennen es aus dem Nachrichten Modul. Mit dem F Modul geht es auch. Die Dokumenation findest du im Kapitel 22.
  • Umschlag Erstelle ein Datum oder Zahleneingabefeld und trage den Feld in ein Umschlag ein. Der Umschlag erstellt eine Von - Bis Abfrage.
  • Eingabefelder ohne Filter Wir können unserer Eingabemaske auch Eingabefelder ohne einer Filter Funktion hinzufügen. Jeder dieser Eingabefelder kann ein eigenes Template besitzen. Die Dokumenation findest du im Kapitel 23.
  • Eigene Paletten erstellen Die Dokumenation findest du im Kapitel 21.
  • KarteMit dem F Modul können wir jedem einzelnen Datensatz eine eigene Google Map zuweisen. Damit können wir auf der Detailseite, den Standort nochmal in Groß anzeigen. Mehr über Google Maps für Contao.
Weitere Felder in der Eingabemaske

Weitere Felder in der Eingabemaske

Je nach gewählten Eingabetyp (Filter Typ) gibt es weitere Felder. Eine kurze Beschreibung:

  • Feldname Der Feldname dient als Identifikation und muss einzigartig sein. Best Practices: Vor dem Feldnamen, sollte man immer den Modulnamen hinzufügen z.B referenz_category, referenz_technology etc. Damit ist dein Feldname sicher.
  • Bezeichnung Damit können wir eine lesbare und redakteurfreundliche Bezeichnung für unser Eingabefeld definieren.
  • Daten aus einer Tabelle laden Damit können wir aus unserer Datenbank eine vordefinierte Auswahlliste von Werten laden. z.B Alle Seiten (tl_page) oder alle Mitglieder (tl_member) auflisten etc.
  • Zahleneingabe aktivieren Damit kann der Redakteur jedem Datensatz einen Zahlenwert zuweisen. Die Datensätze können nach den Zahlenwerten Sortiert und gefiltert werden.

Zahleneingabe und die Operatoren

Wenn wir Zahleneingabe aktivieren bekommt unser Textfeld im Filter Formular einen weiteren Input Feld. Es handelt sich dabei um eine Select Box, dort werden alle möglichen Operatoren hinterlegt. Folgende Operatoren gibt es:

  • gt (Grösser als)
  • gte (Grösser als oder gleich)
  • lt (Kleiner als)
  • lte (Kleiner als oder gleich)
  • eq (Gleich)

Wenn wir keine Select Box haben wollen, können wir das fm_widget_search_field Template überschreiben und stattdessen ein hidden Input Feld hinzufügen. Beim Value tragen wir unseren Wunsch-Operator ein.

Eingabefelder im Template ausgeben

<?php if($this->Feldname): ?>
	<?= $this->Feldname; ?>
<?php endif; ?>

Ohne Select Box (fm_widget_search_field)

<div class="widget-search-field form-widget <?php echo $this->cssClass; ?>">
	
	<label for="id_<?php echo $this->fieldID; ?>" class="widget-label"><?php echo $this->title; ?></label>

   	<?php if( $this->isInteger && $this->isInteger == '1' ): ?>
		<input type="hidden" id="<?php echo $this->fieldID; ?>_int" name="<?php echo $this->fieldID; ?>_int" value="eq" />
   	<?php endif; ?>
   	
	<input type="text" id="id_<?php echo $this->fieldID; ?>" name="<?php echo $this->fieldID; ?>" value="<?php echo $this->selected; ?>"/>

</div>

Weiter mit

Eingabefelder wie Einfache Auswahl oder Mehrfache Auswahl benötigen eine Auswahlliste an Werten.

Weiter

Braucht dein Datensatz eine Unterseite? Das Frontend Modul Detailansicht hilft dir weiter.

Weiter