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
CSS Klasse in Rendersetting eines Attributes definieren #392
Comments
Theoretisch bin ich da voll bei dir. Aber das müssten wir nun in allen 30 Attributen machen :( |
Mit den Attributen hast du recht, das in der tat mühsam die alle zu aktualisieren. Ich habe dennoch mal einen Ansatz gebaut, der es ermöglicht eine CSS Klasse zu setzen. cogizz/core@contao3...feature/css-class-attribute-rendersetting Bei diesem Ansatz müssten nur die Templates der Attribute angepasst werden. Ich habe es bisher mit den Attributen Text, Tabletext, Longtext und File getestet. Dort hat eine kleine Anpassung des Attribut-Templates ausgereicht. Attribut-Text: Sollte euch der Ansatz gefallen, könnte ich kurzfristig für einige Attribute ( etwa 10 Stück ) entsprechende PR machen. Für die verbleibenden dann gerne später auch. |
Klingt gut. bis das jedoch dann yberall drin ist, wird, wie @andreasisaak bereits sagte, ein wenig dauern. |
Bei den PRs würde ich helfen. |
@discordier Wenn es für dich ok ist dass das Feld nicht von jedem Attribut kommt sondern vom Core selbst und man nur die Templates ändern muss, dann mache ich mir die Arbeit. Aber wenn nun jedes Attribut dieses Feld braucht, dann warte ich noch auf V2 |
@andreasisaak Das kann man dann ohne Probleme von C3 nach tng mergen, zumindest in den Attributen, betrifft ja nur templates. |
@cogizz Wenn du mir da mit PR's helfen willst, gerne. Aber nur im C3 Branch |
Ich habe gerade mal einen PR für den Core erstellt, basierend auf den bereits bekannten änderungen. @andreasisaak natürlich helfe ich dir, hab das ja so quasi angezettelt ;) ... ich könnte für die folgenden Attribute PR erstellen: alias, checkbox, file, longtext, select, tabletext, tags, text und timestamp. Damit würde ich morgen anfangen wollen ... |
Ich veröffentliche hier gleich eine Checkliste die wir dann abarbeiten können. Heute Abend fange ich schon mal an, vllt werde ich ja fertig. Doof ist nur die Übernahme aller Änderungen von den contao3 in den tng Branch |
Ist hier noch Unterstützung nötig? Dann würde ich mir das richtige forken und pull-requesten auch noch mal zu Gemüte führen... |
Jede Hilfe ist Herzlich Willkommen. Aber mach PR's nur für den Contao Branch. Gerne auch für Contao 3 und den TNG Branch (der ja der Branch für Contao 2.11 und Contao 3 ist) |
@andreasisaak @cogizz gibt es eine Liste der schon erledigten Attribute? |
Ich bin bisher leider noch nicht dazu gekommen damit anzufangen. Habe auch noch auf die ToDo-Liste von @andreasisaak gewartet. Ich kann aber auch gerne morgen mal eine ToDo-Liste erstellen und anfangen mit den Attributen. |
Wollen wir das bei Zeiten angehen @cogizz ? |
@tim-bec definitiv, ich habe auch schon ein paar templates hier liegen. ich trage das kommende woche mal zusammen. |
Status? |
gut dass ich den Punkt hier gefunden habe, dann brauche ich kein neues Ticket aufzumachen 👍 |
@tim-bec wollen wir das Thema am Sonntag mal angehen? Gerne vorher einmal Mumble am Sonntag?! |
@cogizz ja! Sonntag klingt gut. Termin am besten per IRC ? |
@tim-bec und ich habe dazu morgen ein gespräch. |
Ich mache gerade die folgenden Attribute ... liste wird später ergänzt.
|
@cogizz so, nun dürften wir weitestgehend durch sein, bis auf die attribute die noch nicht TNG kompatibel sind (...) und die, die ich nicht verstehe ( z.b. https://github.com/MetaModels/attribute_select/blob/tng/src/system/modules/metamodelsattribute_select/templates/mm_attr_select.html5 ) |
Ich habe noch eine Frage: Im Moment wird so bei jedem Attribut "innen" die additional_class hinzugefügt. Ich würde diese aber gerne "außen" (im Kontext metamodel_prerendered, leider sind die additonal_classes dort nicht im Template direkt verfügbar) plazieren. Nur wie?
Warum? So könnte man super einfach Bootstrap oder andere CSS Frameworks mit Grids anflanschen. Wenn die additional_classes "innen" plaziert sind, kann man z.B. kein Grid anwenden, da die Klassen je nach Attribut immer auf unterschiedlichen Ebenen liegen. Ergänzung: (Um es noch komplizierter zu machen :) |
@cyberlussi: wäre es nicht "einfacher" und noch flexibler die Inner/Outer-Sache per Template-Variante zu erledigen?
|
ja ... so halb. Wenn man auf der Ebene "field" die Klasse eines Attributes angezeit haben will, klappt das nicht direkt, da das nicht das mm_attr_* Template sondern metamodel_prerendered ist und dort die Klasse nicht einfach zugänglich ist. Aktuell habe ich auch einen Workaround verwendet, das metamodel_prerendered anzupassen und über die API auf die Klasse der Attribute zuzugreifen.
Meine Aufgabe, die ich hatte, war die Klasse in die Ebene "field" also metamodel_prerendered zu legen. Für zukünftige Projekte wäre es aber super, wenn man nicht stetig die Templates anpassen müsste, sondern die fertigen Templates nehmen kann. |
@cyberlussi: stimmt! bei mm_attr_* ist man schon "eine Etage zu tief"... es wäre ggf. an der Stelle die "Grundsatzfrage" zu stellen, ob der "äußere Div-Container" aus metamodel_prerendered nicht eher in in das Template-Partial mm_attr_* gehört... - dazu müsste man alle mm_attr_* einmal anpassen und das Div aus prerendered raus nehemen... ...mit dem doppelten Eintrag der Klasse bzw. zwei Eintragsmöglichkeiten habe ich irgendwie ein "komisches Gefühl" - auch wenn technisch sicher machbar siehe auch #660 |
joa ... also technisch ist sicherlich vieles möglich :) So habe ich auch folgenden "Quickhack" im metamodel_prerendered machen können, um dort an die additional_class zu kommen.
|
"von außen" siehts ja keiner... ;-)) |
@tim-bec haben wir da mittlerweile alle Attribute erwischt? |
Ich hoffe es. |
@cboelter ich hoffe es auch, schließe das hier vorerst - wenn uns noch was begegnet, machen wir tickets auf, okay? |
Wir haben relativ oft Attribute, wo zwar die HTML-Struktur gleich ist, wir aber eine eigene CSS-Class benötigen. Dafür wäre es super, wenn man an das Attribute-Template eine eigene Class übergeben könnte.
Das Template würde dann zum Beispiel wie folgt aussehen:
<span class="text<?php echo $this->customClass;?>"><?php echo $this->raw; ?></span>
Dadurch könnte man an vielen Stellen einfach das Standard-Attribut-Template nutzen.
The text was updated successfully, but these errors were encountered: