Open stefanheimes opened 5 years ago
@discordier @baumannsven @zonky2 @SvenMeierhans @davidmaack @adziemba Input is welcome :)
wenn wir die Templates austauschbar machen, ist das im Prinzip egal, ob table oder div - da du schon divs gemacht hast, kann das so bleiben... Das CSS würde ich mit table/table-row/table-cell machen - die einzelnen Spalten/Zeilen/Zellen sollten über CSS-Klassen ansprechbar sein.
Die wichtigste Einstellung wird die Spaltenbreite sein - die sollte flexibel als px oder % einstellbar sein. Das sollte auch ohne eine CSS-Datei möglich sein, damit man wie in MM multitable das mit einer DCA-Datei abfrühstücken kann.
@zonky2 Idee wäre, dass im eval vom Widget dann solch eine Einstellung noch vornehmen, und diese dann auf jeder Spalte setzten.
Hauptsache wir sind nicht mehr an feste Pixel gebunden - in C4 macht das keinen Sinn mehr (bis auf die feste Breite der Icon-Spalte)
Allgemein zu twig Templates. Injecte so wenig wie möglich aber so komfortabel wie möglich. Beispiel schlecht:
$twig->render([
'headFoo' => $translator->trans('Foo'),
'headBar' => $translator->trans('Bar'),
'foo' => $this->foo,
'bar' => $this->bar,
])
{{ headFoo }}: {{ foo }}
{{ headBar }}: {{ bar }}
Beispiel besser:
$twig->render([
'widget' => $this
])
{% trans %}Foo{% endtrans %}: {{ widget.foo }}
{% trans %}Bar{% endtrans %}: {{ widget.bar }}
Es ist geschickter, wenn das Template sich die Informationen pullen kann, denn nur es weiß was genau es braucht. Wenn z.B. ein Text nicht ausgegeben werden soll, macht es keinen Sinn diesen im Controller auch zu übersetzen.
Lasst uns das auf Mumble mal aufgreifen.
All of the HTML is generated inline in PHP. We don't have any templates. So it is relay difficult to rewrite the HTML or even replace it with another structure.
I have created a new feature brunch with Twig Template support. (https://github.com/menatwork/contao-multicolumnwizard-bundle/tree/features/twig)
But there are some Questions: