-
$objTemplate oder anders
Hallo,
wieder mal eine doch eher allgemeine Entwickler-Frage von mir.
Was ist denn eigentlich nun besser bzw vorteilhafter?
Wenn man mit $objTemplate arbeitet und das Template parset wie in den meisten Core-Modulen oder doch sowas
PHP-Code:
$sql = MyModel::findby(array(---),array(----),array());
if($sql !== null) {
while($sql->next()) {
$data[] = array('part1' => $sql->part1,'part2' => $sql->part2,'part3' => $sql->part3);
}
}
$this->Template->data = $data;
Das war bisher immer meine Vorgehensweise, versuche aber nun mehr krampfhaft auf das $objTemplate umzusteigen da ich meine Erweiterungen auch für die Responsive-Image Funktion rüsten will.
Für Meinungen wäre ich wie immer Dankbar :)
-
Das hängt vom Kontext ab und der fehlt mir hier gerade :)
Aber im Prinzip lässt sich deine Frage - so verstehe ich es zumindest - auch so abkürzen: "Gebt ihr alle mögliche Daten dem Haupttemplate und behandelt sie dann dort oder nutzt ihr eigene Subtemplates und gebt dem Haupttemplate dann nur noch das Ergebnis (ein HTML-String) des Subtemplates?"
Meine Antwort darauf: Naja, kommt halt drauf an :) Ich finde es beispielsweise sehr praktisch, wenn man bei Listenausgaben ein Template für die gesamte Liste und ein eigenes für einen Listeneintrag hat. Klar man könnte auch einfach alle Daten direkt in ein Template packen, aber irgendwann wird das dann ziemlich gross.
-
Naja, ich komm irgendwie mit diesen Template->prase net klar. Ich richte mir die Daten zwar in der PHP Datei zurecht aber übergebn dann ein array an die html datei in der ich das ausgebe ^^
Meist aber so in die Richtung
mytemplate.html5
PHP-Code:
<?php $this->block('content'); ?>
<?php print_r($this->data);?>
<div class="row">
<?php foreach($this->data as $data) { ?>
<div class="col-md-3">
<?php if($data['img']):?>
<img src="<?php echo $data['img'];?>" alt="<?php echo $data['title'];?>" class="img-circle">
<?php endif;?>
<h3><a href="<?php echo $data['alias'];?>"><?php echo $data['title'];?></a></h3>
</div>
<?php }?>
</div>
<?php $this->endblock(); ?>
-
Hat jemand ein Code-Beispiel, wie ich mehrere Datensätze mit ein und demselben Subtemplate parse und dann alles ins Haupttemplate ausgebe?
-
PHP-Code:
$parsedEntries = [];
$masterTemplate = new \FrontendTemplate('master');
foreach ($entries as $entry) {
$subTemplate = new \FrontendTemplate('sub');
$subTemplate->entry = $entry;
$parsedEntries[] = $subTemplate->parse();
}
$masterTemplate->entries = $parsedEntries;
echo $masterTemplate->parse();