New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Contao 3.2.9] Nicht-sichtbare Attribute im Template als Wert abfragbar / Subpaletten und Template #402
Comments
Aktueller Stand: Contao 3.5.6 MM core 2.0.0-alpha8 Die raw-Daten werden immer ausgegeben - dazu können die Attribute ausgeblendet sein bzw. müssen nichtmal in der FE-Render-Ausgabe aufgefüht bzw. eingeladen sein Siehe #484 |
Hi, nein das stimmt so glaube ich nicht. Ich habe auch den letzten Stand mit CTO 3.5.6 installiert (metamodels/core dev-master (900dbda)). Wenn ich in den Rendersettings eines MM einzelne Attribute im FE ausblende (Auge mit Kreuz), erscheinenen diese nicht im [raw] Teil von $this->data - nur die sichbaren Attribute sind dort gelistet. Beispiel siehe unten: mal mit Bild, mal ohne. Somit ist für mich dieses Ticket und #484 nicht gelöst (inhaltlich gleichwertig): Ich finde es sinnvoll, dass das $this->data[..][raw] Segment alle Elemente aus der Datenbank beinhaltet. Im Moment gibt es doch schon eine MM-List Einstellung unter "MetaModel Render-Einstellung > Keine geparsten Items über "$data" ausgeben", könnte man da nicht noch eine Einstellung "Alle Attribute eines Items über "$data" ausgeben" hinzufügen, die entweder den aktuellen Zustand "raw = nur sichtbare" oder "raw = alle" darstellt?
|
Wenn, dann sollte das konfigurierbar sein. Pauschal immer alles Ausgeben ist nicht gut, da man ja mehrere Listen auf einer Seite ausgeben kann mit jeweils unterschiedlichen Attributen (um das Layout besser hin zu bekommen). Wenn da immer alles drinn wäre, dann würde das recht lahm werden. Viele Grüße |
@cyberlussi |
@xantippe Wie gibst du denn die RAW Werte aus? Per Modul? |
Moment ... du sagst "in den Rendereinstellungen löschen" .... kurz probiert: auch ein gelöschtes Attribut in den Render-Einstellungen wird nicht als RAW angezeigt. |
Mit der Umgebung von Xantippe konnte ich folgendes, ich denke auffälliges Verhalten nachvollziehen - ist das so gewollt? Render-Einstellungen vollständig ohne Attribute Ich habe dann alle Attribute durch "alle hinzufügen" hinzugefügt - aber alle noch unsichtbar gelassen Dann habe ich das erste Attribut sichtbar gemacht (Name)
Wenn also wenigstens ein Element sichtbar ist, werden nur die sichtbaren ins RAW array hinzugefügt .... |
Interessanter Effekt
=> Nachdem ein Attribut einmal auf sichtbar geschaltet wurde, ist es offensichtlich in raw enthalten... und kann dann aber wieder entfernt werden ... ob das so gewollt war?? |
Nein war es nicht. Das ist definitiv falsch. |
o.k. - vielleicht wäre ein guter Kompromiss, wenn in raw immer dann angezeigt wird, wenn das Attribut in der Render-Liste als Attribut auftaucht - egal ob sichtbar oder nicht. somit könnte man alle "drei Zustände"
recht leicht bewerkstelligen |
+1 |
I'll check, have the current version the same phenomenon... |
@cyberlussi - ich habe das Thema mit @discordier durchgesprochen und es ist, so wie es ist, genau "richtig" - was, wann passiert, sieht man an meinem letztem Kommentar. Es kommt auf Deine Anforderungen an, aber man kann über den raw-Knoten und einem eigenen Template alle gewünschten Ausgaben erzeugen. Das Ticket wird somit geschlossen... |
Bezugnehmend auf https://community.contao.org/de/showthread.php?49584-gel%F6st-Stand-MM-Subpaletten ein Feature- oder Optimierungs-Request:
In einem (FE) Template sind die Attribute verfügbar, die per Rendersettings "sichtbar" geschaltet wurden. Möchte man im Template aber auf "nicht sichtbare" Attribute zugreifen, so geht dies nicht, da diese im Array der Daten NULL sind. Es müsste eine Möglichkeit geben, im Template auf bestimmte oder alle Daten eines Eintrages zugreifen zu können, ohne dass diese angezeigt werden und die vorgefertigten Templates weitestgehend verwendet werdet können.
Während die Anfrage oben ganz allgemein ist, könnte man auch alternativ den Umgang mit Subpaletten im Speziellen verfeinern: nämlich dadurch, daß MM im Template automatisch Subpaletten und deren Sub-Attribute nach Belegung in- bzw. exkludiert werden. Das Attribut, welches die Subpaletten aktiviert, darf dann aber auch nicht ausgeben werden (z.B. "1"). Dies würde zumindest meinem Anwendungsfall vollständig genügen.
Beispiel (Subpalette "Galerie hinzufügen")
Hinweis: alles unter der Annahme, dass im Modul "Keine Datensätze parsen" inaktiv ist (Verhalten von mir dann nicht geprüft)
The text was updated successfully, but these errors were encountered: