Template mischen

Mit Hilfe der insert()-Funktion kann ein Template in ein anderes Template eingefügt werden. Die Funktion akzeptiert die Übergabe von Variablen als optionalen zweiten Parameter.

<?php $this->insert('template_name', array('key'=>'value')); ?>

// Übergibt alle Variablen aus dem aktuellen Template
<?php $this->insert('template_name', $this->getData()); ?>

Beispiel

Wir erstellen ein Template image_copyright.html5 mit folgendem Inhalt:

// image_copyright.html5
<small>Fotografiert von <?php echo $this->name; ?>, lizenziert als <?php echo $this->license; ?></small>

Dieses Template lässt sich nun an beliebiger Stelle wiederverwenden. Hier fügen wir z. B. dem content Block des ce_image.html5 Templates unseren Copyright-Hinweis (image_copyright.html5) hinzu:

// ce_image_copyright.html5
<?php $this->extend('ce_image'); ?>

<?php $this->block('content'); ?>
  <?php $this->parent(); ?>
  
  <?php $this->insert('image_copyright', array('name'=>'Donna Evans', 'license'=>'Creative Commons')); ?>

<?php $this->endblock(); ?>

Wird das Template ausgegeben, erscheint nun unter dem Bild:

Fotografiert von Donna Evans, lizenziert als Creative Commons