Skins / Contentcache

FIXME Language Alert: Unfortunately this page is still in german, please help by translating it.

  • function render($skin = "debug", $count = 0)
  • function display($skin = "debug", $count = 0)

Contentobjekte können über (Darstellungs-)skins verfügen. Diese können mit den Methoden render() und display() abgerufen werden. Wie im Rest des Systems auch, unterscheiden sich die Methoden dadurch, dass display() den Output gleich ausgibt und render() den Output nur zurückgibt.

Skins helfen die Datenbankzugriffe zu minimieren, da der Output im Contentcache abgelegt wird. Beim Speichern eines Datensatzes werden die Skins neu berechnet. Dies macht nur in hochdynamischen Systemen mit hohen Zugriffen Sinn, ansonsten reicht der Seitencache vollkommen aus.

Der Parameter $count sorgt dafür, dass die Skindarstellung in der Contentstatistik gezählt wird (noch experimentell).

Hinweis

Die Methoden display() und render() sollten im Context von Contentobjekten nicht  überschrieben und anders genutzt werden, da nur sie den Cachingmechanismus sicherstellen.
  • function preRender($skin = "")
  • function initRendering()

Für die Darstellung der Skins muss die Methode preRender ausprogrammiert werden. Soll bei der Darstellung auf Templates des Contentobjektes zurückgegriffen werden, werden mit der Zeile

eval ($this→initRendering());

die Templatezugriffsvariablen gesetzt. Nachfolgend der Sourcecoude des Default-Skins:

<?	
 
function preRender($skin = "")
 
{
 
	global $myPT;
 
	$myPT->startbuffer();
 
	echo "<pre>";
 
	$_props = $this->props;
 
	ksort($_props);
 
	print_r($_props);
 
	echo "</pre>";
 
	$html = $myPT->stopbuffer();
 
	return ($html);
 
}
 
?>

You think Phenotype Wiki/Documentation could be better?
We too. Please contribute: Edit this page

Bookmark and Share