Elemente von Facies
Welche Grundelemente soll Facies für die Plugins grafisch verwalten Können?
Menü
- <menu>...</menu> als Start-End-Tags für ein Menü
- <item target=... title=... description=...>...</item> beschreibt jeden Menüpunkt
- <sub target=... title=.../> für ein Untermenü.
Text
- <text>...</text> als Start-End-Tags für normalen Text
- BBCode für Textformatierungen?
Formulare
- <formular method=... action=...>...</formular> um ein Formular einzuleiten (Method und Action kann man ja übernehmen, oder?
- <input title=... type=.../>
- <select name=... size=...>...</select>
- <option value=... selected>...</option>
Tabellen
t.b.c.
Was ist, wenn z.B. Javascript im Text erfordert wird?
- Plugins haben die Möglichkeit, selber Elementen zu erstellen und sie dem System hinzuzufügen. Der Inhalt dieses Elements kann natürlich auch Javascript sein.
> apollo13: Plugins sollten auch die Möglichkeit haben weitere Elemente in den Headtag zu schreiben!
> lupus: *zustimm* - allerdings auch nur xml-elemente die halt vorher festgelegt sein müssen - das macht das ganze einfacher :)
Soll es Standardelemente z.B. für Foren geben? Also elemente für Beiträge, Forenlisten etc.? Kann man diese Elemente auch für Gästebücher verwenden? Und gibt es ein Blog-Element für Blog-Beiträge? Soll - ähnlich KDE - nicht nur genau _ein_ Template z.zt. verwendet werden sondern ein globales, aber evtl. auch eigene Festlegungen für einzelne Elemente?
Realisierung in der Templatedatei
z.b. <item> aus <menu>:
<div style="width: 200px; height: 40px; color: #000000;"><a href="{target}" alt="{description}">{title}<! <br/>{elements} !></div>
Das alles in die Datei "item" im Ordner "menu" etc.
<! !> bedeutet: alles, was innerhalb der Klammern steht nur dann setzen, wenn das Element in den Klammern (in diesem Falle {elements} tatsächlich existiert, ansonsten ignorieren. Ist eine Eigenschaft (z.b. {description} leer, so wird der Platzhalten aus der Ausgabe entfernt.
> apollo13: das z.b. <item> aus <menu> bitte etwas genauer ausführen... Woher kommen {target} etc. her, magisch? Statt <! würde ich {! verwenden um einheitlich zu bleiben und nicht zu sehr an html/xml tags anzulehnen. Wie willst du die Implementierung komplexerer Templatetags ala {% for element in elements %} { element } {% endfor %} angehen?
> lupus: s.o. target ist eine Eigenschaft von <item>. Über die komplexen Tags hab ich auch schon nachgedacht, werden wahrscheinlich nicht zu verhindern sein... und ja, von mir aus auch {! oder {? ;)
> lupus: Hab nochmal überlegt: Eigentl. braucht es keine komplexen Tags wie Schleifen etc, weil ja von der Templateengine eh solange die entsprechende Templatedatei aufgerufen wird bis alle Elemente abgearbeitet sind. D.h. es werden automatisch schleifen (allerdings von facies initiiert)
