Contao-Camp 2024
Ergebnis 1 bis 3 von 3

Thema: Backend Filter anpassen

  1. #1
    Contao-Nutzer
    Registriert seit
    04.07.2013.
    Beiträge
    13

    Standard Backend Filter anpassen

    Hallo werte Foristen,

    ich möchte die Daten von Veranstaltungen bearbeiten, die in einer DB-Tabelle gespeichert werden. Die Tabelle hat ca. 1000 Einträge. Die ListView mit ihren Filtern würde ich gern anpassen, so dass man über eine SelectBox jede Veranstaltung direkt auswählen kann, ohne zu filtern oder sich durch die Ergebnisseiten durchhangeln zu müssen.

    Ich habe via DCA und einem panel_callback eine Selectbox hinzugefügt, die alle Veranstaltungsbezeichnungen anzeigt und im option-value die ID der Veranstaltung führt.

    Mein Problem ist nun das Verständnis, wie und wo ich auf diesen Wert zugreifen kann, der per post übermittelt wird.

    Einen interessanten Denkanstoss bekam ich durch diesen Thread:

    https://community.contao.org/de/show...ainer-%C4ndern

    Ich habe also eine Klasse DC_TableModyfied angelegt und wollte nun in der Funktion listView die Anzeige der Veranstaltung anpassen. Doch dort sind alle post-Werte leer ('id_va' ist der Name der SelectBox):
    PHP-Code:
    $_POST und \Input::post('id_va'
    Ich habe mir also die Werte des POST-Arrays und den Wert
    PHP-Code:
    \Input::post('id_va'
    ausgeben lassen (in der __construct()-Funktion sowohl der DC_Table-Klasse als auch der DC_TableModyfied-Klasse).
    Beide werden zweimal aufgerufen, im jeweils ersten Aufruf werden die Werte ausgegeben, im zweiten nicht mehr.

    Ich habe eine Variable $postVAID in der Klasse DC_TableModyfied definiert, auch diese ist im ersten Aufruf mit dem entsprechenden Wert belegt, im zweiten nicht mehr.

    Für mich sieht das so aus, als würden die POST-Werte im ersten Aufruf erfasst und gelöscht bzw. umkopiert und im zweiten erfolgt die Ausgabe der ListView, wo aber die Werte zwischendurch ausgewertet und gespeichert werden, ist mir nicht ersichtlich.

    Könnte mir bitte jemand Licht ins Dunkel bringen? Vielen Dank im Voraus, oheym
    Geändert von oheym (16.08.2013 um 14:56 Uhr)

  2. #2
    Contao-Nutzer
    Registriert seit
    04.07.2013.
    Beiträge
    13

    Standard Zwischenstand

    Hallo,
    ich habe es momentan via jQuery so gelöst, dass der Klick auf eine Veranstaltung (via onchange der Selectbox mit den Veranstaltungen) in der Selectbox dazu führt, das tl_field mit id ergänzt wird und tl_value die ID erhält. Das führt dazu, das in der ListView nur die eine Veranstaltung steht, wie ich es wollte.
    Wenn ich der Selectbox in der neuen Ansicht aber die gesendete ID via panel_callback-Funktion mitteilen will, damit in ihr auch die gewählte Veranstaltung angezeigt wird, stelle ich fest, dass auch hier zwei Aufrufe stattfinden, im ersten ist der ID-Wert vorhanden, in der zweiten nicht, ich bin ratlos. Kann mir keiner die Richtung weisen, warum 2 Aufrufe stattfinden?

  3. #3
    Contao-Nutzer
    Registriert seit
    04.07.2013.
    Beiträge
    13

    Standard

    Vielen Dank für die Antwort.

    Ich beschäftige mich mit contao erst seit ein paar Wochen und meine Kenntnisse sind in der Tat noch rudimentär. Die Videotutorials von Hr. Lins haben mich schon auf den Weg gebracht.

    Ich befürchte, ich habe das Problem nicht deutlich genug beschrieben. Die Filter, die ich via DCA setzen kann, könnte ich durchaus nutzen, aber sie verfehlen das vorher beschriebene Ziel, genau eine Veranstaltung aufzurufen, da eine solche erst eindeutig wird, wenn ich die Bezeichnung und eine Kurzbeschreibung kombiniere. D.h., die Bezeichnung selbst kann mehrfach vorkommen, sie ist nicht eindeutig. Da ich aber einen Filter, nach meinem bescheidenen Kenntnis- und Verständnisstand, nur pro Tabellenfeld erstellen lassen kann, werden mir mittels Filter im Bezeichnungsfeld alle Veranstaltungen mit derselben Bezeichnung in der ListView angezeigt, ein Filter auf die ID zeigt die IDs an, der User weiß allerdings nicht, für welche Veranstaltung sie steht, etc. Deshalb wollte ich gern eine SelectBox als Filter einbauen, welche als option-value die ID mit sich führt und die Veranstaltungen mit der Kombination aus Bezeichnung und Kurzbeschreibung anzeigt.

    Da ich dieses Ziel mit den Bordmitteln im DCA nicht erreichen kann, fand ich die Heransgehensweise von User zero interessant.

    Sollte ich immer noch einem Missverständnis anheimfallen oder meine Unkenntnis erneut unter Beweis gestellt haben, würde ich mich über Geduld, Nachsicht und einen Hinweis freuen, der mir den Weg zeigt.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •