Seite 1 von 1

Contenido & Templateerzeugung (phplib)

Verfasst: Fr 19. Dez 2008, 09:37
von rethus
Also Contenido nutzt ja ausgiebig die phplib (http://www.sanisoft.com/phplib/manual/T ... amples.php)... unter anderem zur Templateerzeugung.

Nun frage ich mich, warum in den Templates immer
$tpl->set('s',....
und
$tpl->set('s',....
angegeben sind, wenn doch in der PHP-Lib-Doku der erste String als Name für die Variable angegeben wird.
Welche Werte kann ich da angeben, und was bewirken diese?

Wurde phplib nicht komplett eingebunden? Wenn ich mir das phplib--package anschaue sind da ungleich mehr dateien drin, als in conlib.... oder wurden die Dateien in die classes-dateien hineingefriemelt?

Verfasst: Fr 19. Dez 2008, 12:32
von Oldperl
Hallo rethus,

Contenido nutzt nicht die PHPLib zur Templateerstellung sondern eine eigene Klasse (contenido/classes/class.template.php).

Gruß aus Franken

Ortwin

Verfasst: Mo 22. Dez 2008, 13:17
von rethus
Naja, nur weil es in die Contenido-Core umgebastelt wurde, heißt dass nicht, dass es nicht aus PHPlib entnommen ist, oder?
Der Aufruf, die instanziierung und sogar die Funktionsnamen sind identisch.

Schau dir mal das phplib Paket genauer an, dann weißt du was ich meine... gleiches übrigens beim DB-Handling.

Wie auch immer... die Frage war mit dem ersten Parameter.. mal s mal d... wo kann man chekcen, welche Parameter möglich sind, und was diese bewirken?

Verfasst: Mo 22. Dez 2008, 13:51
von Dodger77
rethus hat geschrieben:Wie auch immer... die Frage war mit dem ersten Parameter.. mal s mal d... wo kann man chekcen, welche Parameter möglich sind, und was diese bewirken?
Wenn du dir die Klasse doch schon angesehen hast, dann hätte ein Blick in die Methode set() deine Frage schon beantwortet: :wink:

s(tatisch)
d(ynamisch)

Kurz erläutert z.B. hier:

http://forum.contenido.org/viewtopic.ph ... lateklasse

Verfasst: Mo 22. Dez 2008, 14:45
von Oldperl
wobei nur auf den Parameter 's' geprüft wird

Code: Alles auswählen

function set($which = 's', $needle, $replacement)
	{
		if ($which == 's')
		{ // static
			$this->needles[] = sprintf($this->tags['static'], $needle);
			$this->replacements[] = $replacement;

		} else
		{ // dynamic
			$this->Dyn_needles[$this->dyn_cnt][] = sprintf($this->tags['static'], $needle);
			$this->Dyn_replacements[$this->dyn_cnt][] = $replacement;

		}
	}
der auch als standard gesetzt ist, und alles andere in den Zweig für dynamisch geht, wobei der angegebene Parameter auch mit gespeichert wird.

Gruß aus Franken

Ortwin