heimrichhannot / contao-list-bundle

This bundle offers a generic list module.
GNU Lesser General Public License v3.0
3 stars 0 forks source link

Nutzung von Filtern nicht unbedingt klar #3

Closed Olli closed 3 years ago

Olli commented 3 years ago

Mir ist die Nutzung der Filter nicht ganz klar. Wir haben ein Model das wir mal "Frucht" nennen. Diese Frucht kann kategorisiert werden in Obst, Gemüse, Nüsse etc. Dem Lister für dieses Model wurde ein Default Filter zugeordnet der sicher stellt, dass nur "Published" Datensätze ausgeben werden. Zudem ist ein Choice Filterelement gesetzt.

Ich möchte Unterseiten in Contao anlegen die genau wie die einzelnen Kategorien heißen und nur die Früchte der Kategorien ausgeben. In dem Artikel wird ein Modul ausgegeben, das den Lister ausgibt. Dann wollte ich per CE eine Lister-Vorauswahl setzen auf genau die Kategorie der aktuellen Seite (Default Filter gewählt und Filtervorauswahl für das Choice-Filterelement auf die aktuelle Kategorie gesetzt).

Das müsste doch so gehen oder? Leider werden keine Datensätze ausgegeben.

Defcon0 commented 3 years ago

Ich habe erst heute einen Bug bzgl. der Listenvorauswahl behoben. Evtl. lag es daran.

Wie hast du die Kategorien umgesetzt? Ist das ein simples Select mit options_callback?

Du kannst es übrigens auch mit initialen Filtern umsetzen und dann für die Unterseiten vererbte Listenkonfigurationen bauen, wo dann nur der angepasste Filter geändert wird (Eltern-Listenkonfiguration).

Olli commented 3 years ago

Es kann sein dass es an dem Bug lag. Ich hatte dann noch mal ein Update gemacht und nach ein paar Klicks lief es wie erwartet. Ja das ist ein Simples Select mit Option Callback . Ja wenn ich aber das mit den angepassten Filtern mache muss ich wieder für jede Kategorie ein neuen Lister mit dem Vererbten Filter bauen sowie ein Modul. Das wird glaube ich zu unübersichtlich.

Nichts desto trotz die Filter, die auf den vorherigen Seiten gesetzt wurden, werden nicht wieder gelöscht obwohl ich den Filtern angehakt habe "Filter bei Seitenwechsel zurücksetzen".

Defcon0 commented 3 years ago

"Filter bei Seitenwechsel zurücksetzen" wird dann gemacht, wenn man die Seite betritt und von einer anderen Seite kommt, wo der Filter nicht greift. In Zusammenspiel mit Listenvorauswahl haben wir das ganze allerdings noch nicht eingesetzt, meine ich.

Ich würde dir eher empfehlen, die Listen einzeln anzulegen. Das ist der Weg, wie wir mit dem Modul schon ewig arbeiten, der bewährt ist.

Olli commented 3 years ago

Ok ich habe das jetzt so gemacht. Ist zwar nicht die präferierte Lösung aber man muss ja mal zum Schluss kommen mit Probieren. ;) Jetzt versuche ich noch ein Filterformular für die Komplettübersicht zu erstellen. Es ist nicht ganz klar woher die Labels für die Parameter gezogen werden. Prinzipiell sind die übersetzt und verfügbar aber es werden trotzdem nur die "values" ausgegeben (also was dann im Datensatz als Wert steht).

Defcon0 commented 3 years ago

Du meinst die Labels für die Filter-Elemente? Also die einzelnen Filterfelder? Normal nimmt er, sofern vorhanden, das DCA-Feld, was verknüpft wurde (übersetzt). Ansonsten hast du noch die Möglichkeit, das Label mit einem lokalisierten String zu überschreiben (Symfony translations!).

Olli commented 3 years ago

Ich habe es gefunden wie die Labels erzeugt werden. Da ist mir selbst ein Fehler passiert in meinen Translations sodass diese nicht gefunden worden.

Damit ist das jetzt eigentlich auch abgeschlossen.