Ergebnis 1 bis 5 von 5

Thema: $objTemplate oder anders

  1. #1
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard $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
    Liebe Grüße
    WebRoxx


  2. #2
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    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.
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  3. #3
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.140

    Standard

    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(); ?>
    Liebe Grüße
    WebRoxx


  4. #4
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    Hat jemand ein Code-Beispiel, wie ich mehrere Datensätze mit ein und demselben Subtemplate parse und dann alles ins Haupttemplate ausgebe?
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  5. #5
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    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(); 
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •