Smarty

Aus CavoxCms Wiki

Wechseln zu: Navigation, Suche

Das System verwendet als Template-System die bewährte Smarty-Engine komponente für PHP. Diese wurde um viele Plugins erweitert, welche hier beschrieben werden. Falls Sie weitere Informationen brauchen, wie Smarty eingesetzt wird, dann schauen Sie bitte in die Dokumentation auf der Smarty-Homepage.

Inhaltsverzeichnis

{cInput}

Mit dieser Funktion wird in einem Formular automatisch das zum Typ passende Formularfeld (Input) generiert. Falls cavox_input für den Typ keinen Konstruktor kennt, erstellt es automatisch ein einfaches Textfeld. Die Standardparameter der Funktionen sind:

  • type: Typ des Inputs
  • name: Formularname, der dann im Command mittels $result->add(„formname“, „typ“, required);gelesen werden kann.
  • value: Aktueller Wert des Inputs. Wird dann von cavox_input automatisch ausgewertet wenn möglich.
  • title: Titel des Inputs (Sprachabhängig)

Beispiel:

{cInput type=text name=attr value=$tuple.attr title=$lang.attr}

date

  • default = now (date): Wert, wenn noch keiner Vorhanden ist. Spezial: 0 = keine Auswahl. Beispiel: 2009-10-25
  • start = now - 10 (integer): Jahr, von dem ausgewählt werden kann
  • end = now + 10 (integer): Jahr, bis zu dem ausgewählt werden kann

time

Unterstützt kein requiered (todo)

  • secs = false (boolean): Können auch Sekunden ausgewählt werden

datetime

date + time

location

  • height = 300 (integer): Höhe der angezeigten Karte

bool

  • change = "" (string): JavaScript, das bei onChange aufgerufen werden soll

html

FCKEditor

  • height = 450 (integer): Höhe der Area
  • toolbar = "basic" (string): Welche Buttons sind vorhanden. Möglichkeiten: basic, default, extended

bbcode

BBCode input

  • advanced = default from config (true) (bool): Erweiterte edititierungen
  • smilies = default from config (true) (bool): Smilies anzeigen

idlist

Auswahl mehrer anderer Objekte (m:n-Relation).

  • rows (Array): Objekte, aus denen ausgewählt werden kann
  • title_key = "title"(string):
  • value_key = "id" (string):
  • pad = false (bool): Soll Pad eingefügt werden (Feld "pad" im Objekt)

id, select

Auswahl eines Objektes (1:m-Relation).

Klassisch:

  • rows (Array): Objekte, aus denen ausgewählt werden kann
  • onchange (string): todo: rename!!
  • root = false (bool): Kann auch 0 ausgewählt werden?
  • title_key = "title"(string):
  • value_key = "id" (string):
  • pad = false (bool): Soll Pad eingefügt werden (Feld "pad" im Objekt)

Dynamisch (AJAX):

  • ajax (bool): Muss auf true gesetzt werden!
  • model (string): Foreign Model name

WICHTIG:

  • Objekte, die ausgewählt werden, müssen __toString implementieren
  • Kontroller dazu die Search-Funktion (search($search, $limit = null))

{cUrl}

Erstellt eine URL mit den angegebenen Parametern. Die Parameter mX, cX, kX und vX können beliebig oft verwendet werden, müssen aber ohne Ganzzahlunterbruch vorhanden sein, d.h. es muss mindestens mX, cX oder kX definiert sein. Falls cavox_url in einem Template einer Funktion aufgerufen wird (nicht view sondern, function), muss der component Parameter angegeben werden. Wird nichts angegeben, wird ein Link zur aktuellen Seite erzeugt.

Parameter:

  • view = View - optional, Modul ist aktuelles Modul, Komponente ist aktuelle Komponente
  • id = ID des Views, optional
  • cmd = Command
  • cmd_module = Modul, wo das Kommando gefunden werden kann, standardmässig aktuelle Modul

Parameter müssen manuell hinzugefügt werden. Beispiel:

<a href="{cavox_url cmd=delete}&id=10">...

Wiederholende Parameter:

  • m1 = Modul des Parameters, standardmässig aktuelles Modul
  • c1 = Komponente des Parameters, standardmässig aktuelle Komponente
  • k1 = Schlüssel des Parameters, standardmässig „view“
  • v1 = Wert des Parameters, standardmässig „“, muss also zwinged gesetzt werden

Beispiel:

{cUrl k1=key1 v1=val1 k2=key2 v2=val2 c2=othercomponent m2=othermodule}

{cIcon}

Erstellt ein HTML-Bild aus einem Bild aus dem Icons-Verzeichnis.

Siehe auch: cIcon::create

Parameter:

  • src = Pfad des Icons ohne Dateiendung (immer .gif)

{cUser}

Ermittelt den Benutzernamen aufgrund der angegebenen ID und generiert, falls gewünscht, einen Link zum Benutzerprofil.

Parameter:

  • id = ID des Benutzers (optional)
  • stay = Wenn gleich true (default false), dann wird die vorherige Klasse nochmals ausgegeben.

{cThumb}

{cTooltip}

TODO

{cRow}

  • form: Formularname (View-Name), wo die Objekte der Liste bearbeitet werden. Mehrere Views können mit einem Komma getrennt werden.
  • id: ID des Objekts, das gerade verarbeitet wird. Wird automatisch ausgelesen wenn form angegeben wurde und die Zeilen an die Variabel rows gebunden ist und die Smarty-Sektion i heisst.
  • reset: Setzt die aktuelle Anzeige zurück. Erzeugt keine Ausgabe.
Persönliche Werkzeuge