Contao-Camp 2024
Ergebnis 1 bis 16 von 16

Thema: Insert-Tags in Template - nicht verwenden - Alternative?

  1. #1
    Contao-Fan
    Registriert seit
    10.08.2011.
    Ort
    Berlin
    Beiträge
    828

    Standard Insert-Tags in Template - nicht verwenden - Alternative?

    Im letzten ContaoTV Contao.random("006") ging es u.a. um das Thema insertags in Templates und dass man die zukünftig loswerden wolle bzw. sie nicht verwendet werden müssen.

    Meine Frage dazu ist, wie ersetze ich denn in einem Template z.B. so etwas ?
    PHP-Code:
    {{insert_module::6}} 
    Ich habe folgendes anstatt dessen eingesetzt
    PHP-Code:
    <?php  
      
    echo \Contao\Controller::getFrontendModule(6); 
    ?>
    Ist das so die korrekte Vorgehensweise?? Sorry, für die Frage eines Nichtprogrammierers

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.898
    Partner-ID
    10107

    Standard

    Ja, das ist korrekt so. Oder ein wenig kürzer:
    PHP-Code:
    <?= Contao\Controller::getFrontendModule(6?>
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.464
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Habe die random-Folge gestern Abend nachgehört.

    Bin gespannt ob das so bleiben wird oder ob es ggf. wieder einfache(re) Schreibweise wie die Inserttags geben wird…

    OK, nur in Templates…
    Geändert von planepix (13.01.2022 um 17:47 Uhr)
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

  4. #4
    Contao-Urgestein Avatar von Franko
    Registriert seit
    22.06.2009.
    Beiträge
    1.503
    Partner-ID
    6122

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Ja, das ist korrekt so. Oder ein wenig kürzer:
    PHP-Code:
    <?= Contao\Controller::getFrontendModule(6?>
    Evtl. wäre zukünftig eine Liste entsprechender Alternativen zwecks Nutzung in Templates hierzu hilfreich ...
    See Issue: https://github.com/contao/docs/issues/931
    Geändert von Franko (15.01.2022 um 10:47 Uhr)
    Freelancer, Digital Design Enthusiast, Contao Aficionado and Tutorial Junkie @MoinFranko - Carpe diem ...

  5. #5
    Contao-Urgestein Avatar von Franko
    Registriert seit
    22.06.2009.
    Beiträge
    1.503
    Partner-ID
    6122

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Ja, das ist korrekt so. Oder ein wenig kürzer:
    PHP-Code:
    <?= Contao\Controller::getFrontendModule(6?>
    Und wie würde man sowas dann in zukünftigen Twig Templates nutzen können?
    Freelancer, Digital Design Enthusiast, Contao Aficionado and Tutorial Junkie @MoinFranko - Carpe diem ...

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.898
    Partner-ID
    10107

    Standard

    Für Twig Templates gibt es noch keine Alternative.
    » sponsor me via GitHub or PayPal or Revolut

  7. #7
    Contao-Nutzer Avatar von ErichM
    Registriert seit
    14.11.2011.
    Beiträge
    44

    Standard

    Ich hoffe, das dieser Aufruf auch weiterhin funktioniert:

    $mitgl_nr = $this->replaceInsertTags('{{user::fc_member_number}}') ;

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.898
    Partner-ID
    10107

    Standard

    Zitat Zitat von ErichM Beitrag anzeigen
    Ich hoffe, das dieser Aufruf auch weiterhin funktioniert:

    $mitgl_nr = $this->replaceInsertTags('{{user::fc_member_number}}') ;
    PHP Template:
    PHP-Code:
    $mitgl_nur Contao\FrontendUser::getInstance()->fc_member_number
    Twig Template (ungetestet):
    PHP-Code:
    {% set mitgl_nr app.user.fc_member_number %} 
    Bzw. wenn man es einfach nur ausgeben will:

    PHP Template (braucht PHP >=8):
    PHP-Code:
    <?= Contao\FrontendUser::getInstance()?->fc_member_number ?? '' ?>
    Twig Template:
    PHP-Code:
    {{ app.user.fc_member_number|default('') }} 
    Geändert von Spooky (17.01.2022 um 12:27 Uhr)
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    Contao-Nutzer Avatar von ErichM
    Registriert seit
    14.11.2011.
    Beiträge
    44

    Standard

    Danke für die Info

  10. #10
    Contao-Fan Avatar von Kopfnuss
    Registriert seit
    05.09.2012.
    Ort
    Zwickau
    Beiträge
    307
    Partner-ID
    11375
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hey,

    hab da auch noch Fragen zu Insert-Tags und Twig.
    Insert-Tags sollen nicht in Templates verwendet werden, richtig? In HTML Elementen kann ich diese aber noch verweden?

    Soll die Templates in php durch Twig ersetzt werden auf lange Zeit? Worin liegt den der Vorteil von Twig gegenüber php?

    Danke Marco

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.898
    Partner-ID
    10107

    Standard

    Zitat Zitat von Kopfnuss Beitrag anzeigen
    Insert-Tags sollen nicht in Templates verwendet werden, richtig?
    Es kommt darauf an was du machen willst.
    » sponsor me via GitHub or PayPal or Revolut

  12. #12
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Kopfnuss Beitrag anzeigen
    Soll die Templates in php durch Twig ersetzt werden auf lange Zeit? Worin liegt den der Vorteil von Twig gegenüber php?
    Ja langfristig sollen sie das aber noch nicht in der nächsten LTS Contao 4.13, wenn ich das richtig in Erinnerung habe. Ich habe trotzdem angefangen mich damit zu beschäftigen und bin durchaus sehr angetan.
    Vorteile kann ich Dir sicher nur einige wenige nennen, weil ich gerade erst angefangen habe mich mit Twig zu befassen.
    Mir selbst aufgefallen ist die in aller Regel deutlich einfachere Syntax beim Schreiben der Templates und wesentlich bessere Unterstützung bei Syntaxfehlern, da es keinen "Mix" aus HTML und PHP gibt.
    Außerdem sind Twig-Templates nach dem was ich bisher gesehen und verstanden habe, deutlich mächtiger als die HTML5-Templates, gerade in Bezug auf Wiederverwendbarkeit.
    Twig ist die Templatesprache von Symfony und damit wird sehr vieles auch für Erweiterungsentwickler möglich, was jetzt noch nicht machbar ist.

    In meinen Augen sehr empfehlenswert für den Einstieg:

    https://twig.symfony.com/doc/3.x/
    https://www.youtube.com/watch?v=vcopVEDxzLE
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  13. #13
    Contao-Fan Avatar von Kopfnuss
    Registriert seit
    05.09.2012.
    Ort
    Zwickau
    Beiträge
    307
    Partner-ID
    11375
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Es kommt darauf an was du machen willst.
    Ich habe das immer mal wieder verwendet. Genau kann ich gerade nicht sagen wieso. Wollte einfach schaun ob ich mich zu andern Möglichkeiten informieren soll.

    @mlweb
    Danke für die Infos. Dann werde ich mich damit auch mal auseinandersetzen.

  14. #14
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.898
    Partner-ID
    10107

    Standard

    Zitat Zitat von Kopfnuss Beitrag anzeigen
    Ich habe das immer mal wieder verwendet.
    Was genau?
    » sponsor me via GitHub or PayPal or Revolut

  15. #15
    Contao-Fan Avatar von Kopfnuss
    Registriert seit
    05.09.2012.
    Ort
    Zwickau
    Beiträge
    307
    Partner-ID
    11375
    Contao-Projekt unterstützen

    Support Contao

    Standard

    z.B: hatte ich einmal {{page::id}} verwendet um bei einer Checkbox eine Vorauswahl zu treffen.

    form_checkbox.html5
    PHP-Code:
    <?php $pageID $this->replaceInsertTags'{{page::id}}' ); ?>
    <?php $this
    ->extend('form_row'); ?>

    <?php $this->block('field'); ?>
      <fieldset id="ctrl_<?= $this->id ?>" class="checkbox_container<?php if ($this->class) echo ' ' $this->class?>">

        <?php if ($this->label): ?>
          <legend>
            <?php if ($this->mandatory): ?>
              <span class="invisible"><?= $this->mandatoryField ?> </span><?= $this->label ?><span class="mandatory">*</span>
            <?php else: ?>
              <?= $this->label ?>
            <?php endif; ?>
          </legend>
        <?php endif; ?>

        <?php if ($this->hasErrors()): ?>
          <p class="error"><?= $this->getErrorAsString() ?></p>
        <?php endif; ?>

        <input type="hidden" name="<?= $this->name ?>" value="">

        <?php foreach ($this->getOptions() as $option): ?>
          <?php if ($option['type'] == 'group_start'): ?>
            <fieldset>
            <legend><?= $option['label'?></legend>
          <?php endif; ?>

          <?php if ($option['type'] == 'option'): ?>
            <span><input type="checkbox" 
                         name="<?= $option['name'?>
                         id="opt_<?= $option['id'?>
                         class="checkbox" 
                         value="<?= $option['value'?>"
                             <?php if (($pageID == 14) && ($option['value'] == "ECGpro® Datenmanagment")): ?>
                                 checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 165) && ($option['value'] == "CardioPart 12 WLAN")): ?>
                                 checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 15) && ($option['value'] == "Ruhe-EKG")): ?>
                                 checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 16) && ($option['value'] == "Belastungs-EKG")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 17) && ($option['value'] == "Langzeit-EKG")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 18) && ($option['value'] == "Langzeit-Blutdruck")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 19) && ($option['value'] == "Ergospirometrie")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 20) && ($option['value'] == "Spirometrie")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 21) && ($option['value'] == "Lungenfunktion")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 22) && ($option['value'] == "CardioPart 12 Blue / Blue-P")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 23) && ($option['value'] == "CardioPart 12 USB / USB-P")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 46) && ($option['value'] == "ECGpro® Datenmanagment")): ?>
                                 checked=""
                             <?php endif; ?> 
                         
                             <?php if (($pageID == 47) && ($option['value'] == "Ruhe-EKG")): ?>
                                 checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 166) && ($option['value'] == "CardioPart 12 WLAN")): ?>
                                 checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 48) && ($option['value'] == "Belastungs-EKG")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 49) && ($option['value'] == "Langzeit-EKG")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 50) && ($option['value'] == "Langzeit-Blutdruck")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 51) && ($option['value'] == "Ergospirometrie")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 52) && ($option['value'] == "Spirometrie")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 53) && ($option['value'] == "Lungenfunktion")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 54) && ($option['value'] == "CardioPart 12 Blue / Blue-P")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 55) && ($option['value'] == "CardioPart 12 USB / USB-P")): ?>
                                checked=""
                             <?php endif; ?>
                             
                             
                             <?php if (($pageID == 131) && ($option['value'] == "ECGpro® Datenmanagment")): ?>
                                 checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 132) && ($option['value'] == "Ruhe-EKG")): ?>
                                 checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 133) && ($option['value'] == "Belastungs-EKG")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 134) && ($option['value'] == "Langzeit-EKG")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 135) && ($option['value'] == "Langzeit-Blutdruck")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 139) && ($option['value'] == "CardioPart 12 Blue / Blue-P")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 140) && ($option['value'] == "CardioPart 12 USB / USB-P")): ?>
                                checked=""
                             <?php endif; ?>
                         
                             <?php if (($pageID == 142) && ($option['value'] == "ECGpro® Datenmanagment")): ?>
                                 checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 143) && ($option['value'] == "Ruhe-EKG")): ?>
                                 checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 144) && ($option['value'] == "Belastungs-EKG")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 145) && ($option['value'] == "Langzeit-EKG")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 146) && ($option['value'] == "Langzeit-Blutdruck")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 150) && ($option['value'] == "CardioPart 12 Blue / Blue-P")): ?>
                                checked=""
                             <?php endif; ?>
                             <?php if (($pageID == 151) && ($option['value'] == "CardioPart 12 USB / USB-P")): ?>
                                checked=""
                             <?php endif; ?>
                             <?= $option['attributes'?>
                <label id="lbl_<?= $option['id'?>" for="opt_<?= $option['id'?>"><?= $option['label'?></label></span>
          <?php endif; ?>

          <?php if ($option['type'] == 'group_end'): ?>
            </fieldset>
          <?php endif; ?>
        <?php endforeach; ?>

      </fieldset>

      <?php if ($this->addSubmit): ?>
        <input type="submit" id="ctrl_<?= $this->id ?>_submit" class="submit" value="<?= $this->slabel ?>">
      <?php endif; ?>
    <?php $this
    ->endblock(); ?>
    oder

    PHP-Code:
    $envurl $this->replaceInsertTags'{{env::url}}' );
    $envlink $this->replaceInsertTags'{{env::request}}' ); 

  16. #16
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.898
    Partner-ID
    10107

    Standard

    PHP-Code:
    <?php $pageID $this->replaceInsertTags'{{page::id}}' ); ?>
    »
    PHP-Code:
    <?php $pageID $GLOBALS['objPage']->id?>

    PHP-Code:
    $envurl $this->replaceInsertTags'{{env::url}}' );
    $envlink $this->replaceInsertTags'{{env::request}}' ); 
    »
    PHP-Code:
    $envurl Contao\Environment::get('url');
    $envlink Contao\Environment::get('request'); 
    » sponsor me via GitHub or PayPal or Revolut

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
  •