Ergebnis 1 bis 19 von 19

Thema: Verschiedene Templates?

  1. #1
    Alter Contao-Hase Avatar von xkoy
    Registriert seit
    23.07.2010.
    Ort
    Mount Maunganui, New Zealand
    Beiträge
    1.035

    Standard Verschiedene Templates?

    Servus,

    da ich eine Schnellanfrage habe, und ein reguläres Kontaktformular, ist die frage wie kann ich 2 vers. Templates aufbauen??

    Daniel

  2. #2
    Contao-Fan Avatar von webster
    Registriert seit
    14.09.2010.
    Ort
    Kiel
    Beiträge
    460

    Standard

    Hallo Daniel,

    benenne die Templates im Template-Editor doch einfach um. Oder verstehe ich Deine Frage gerade nicht?
    Was ist das? - Blaues Licht - Und was macht es? - Es leuchtet blau...

  3. #3
    Alter Contao-Hase Avatar von xkoy
    Registriert seit
    23.07.2010.
    Ort
    Mount Maunganui, New Zealand
    Beiträge
    1.035

    Standard

    Naja so würd ich es ja machen, nur wo gebe ich an welches template ich nutzen will im EFG ???

  4. #4
    Contao-Fan Avatar von webster
    Registriert seit
    14.09.2010.
    Ort
    Kiel
    Beiträge
    460

    Standard

    Hmm, es gab da mal irgendwo was dazu...

    Ahh: ist das hier mit dem EFG umsetzbar? http://de.contaowiki.org/Eigene_Temp...C3%B6glichkeit
    Was ist das? - Blaues Licht - Und was macht es? - Es leuchtet blau...

  5. #5
    Alter Contao-Hase Avatar von xkoy
    Registriert seit
    23.07.2010.
    Ort
    Mount Maunganui, New Zealand
    Beiträge
    1.035

    Standard

    Ahh Super, danke Dir, hat mir geholfen

  6. #6
    Alter Contao-Hase Avatar von xkoy
    Registriert seit
    23.07.2010.
    Ort
    Mount Maunganui, New Zealand
    Beiträge
    1.035

    Standard

    Also es will nich funken, beide Varianten getestet, nichts geht

    Code:
    <?php
      $pos = strpos($this->class, 'kontaktsofort');
      if ($pos === false)
      {
        include('form_widget_normal.html5');
      }
      else
      {
        include('form_widget_sofort.html5');
      }
    ?>
    So habe ichs, aber er läd nur das normale, das 2. tpl wird nicht geladen
    In der Seitenstruktur habe ich auf der Kontaktseite diese class vergeben: kontaktsofort

    Auch wenn ich die 2 tpl vertausche, er läd immer nur 1 davon...

  7. #7
    Contao-Fan Avatar von webster
    Registriert seit
    14.09.2010.
    Ort
    Kiel
    Beiträge
    460

    Standard

    Lass Dir mal $this->class am Anfang des Templates ausgeben und überprüfe, was drin steht.
    Außerdem: Was passiert, wenn Du versuchst, die Templates ohne if-Abfrage einzubinden? Sind beide includes erfolgreich?
    Was ist das? - Blaues Licht - Und was macht es? - Es leuchtet blau...

  8. #8
    Alter Contao-Hase Avatar von xkoy
    Registriert seit
    23.07.2010.
    Ort
    Mount Maunganui, New Zealand
    Beiträge
    1.035

    Standard

    Ich komm nich mehr mit jetzt

    Wenn ich in der if Abfrage die TPL tausche, dann greift immer nur das erste.

  9. #9
    Contao-Fan Avatar von RainerG
    Registriert seit
    22.05.2011.
    Ort
    Hannover
    Beiträge
    848

    Standard

    Zitat Zitat von xkoy Beitrag anzeigen
    Also es will nich funken, beide Varianten getestet, nichts geht

    Code:
    <?php
      $pos = strpos($this->class, 'kontaktsofort');
      if ($pos === false)
      {
        include('form_widget_normal.html5');
      }
      else
      {
        include('form_widget_sofort.html5');
      }
    ?>
    So habe ichs, aber er läd nur das normale, das 2. tpl wird nicht geladen
    In der Seitenstruktur habe ich auf der Kontaktseite diese class vergeben: kontaktsofort

    Auch wenn ich die 2 tpl vertausche, er läd immer nur 1 davon...
    Ich bin jetzt nicht der php-Profi, aber mit zwei Gleichheitszeichen (statt drei) sollte es bei der IF-Abfrage besser laufen denke ich.

    PHP-Code:
      if ($pos == false
    Rainer G. aus H.
    www.BunteReisebilder.de

  10. #10
    Alter Contao-Hase Avatar von xkoy
    Registriert seit
    23.07.2010.
    Ort
    Mount Maunganui, New Zealand
    Beiträge
    1.035

    Standard

    Geht leider auch nicht

  11. #11
    Contao-Fan Avatar von webster
    Registriert seit
    14.09.2010.
    Ort
    Kiel
    Beiträge
    460

    Standard

    @RainerG: nein, drei Gleichheitszeichen sind vollkommen korrekt. Das bedeutet, dass nicht nur der Wert (false) geprüft wird, sondern auch der Typ (boolean). Würde strpos an Position Null (0) einen Treffer haben, so würde die Funktion 0 als Rückgabewert ausliefern. Und in php gilt:

    PHP-Code:
    if (== false)
    {
     
    // liefert true, da nur der Wert verglichen wird
    }

    if (
    === false)
    {
    // liefert false, da 0 vom Typ int und false vom Typ boolean ist

    Daher würde ein Vergleich mit == fehlschlagen.
    Was ist das? - Blaues Licht - Und was macht es? - Es leuchtet blau...

  12. #12
    Alter Contao-Hase Avatar von xkoy
    Registriert seit
    23.07.2010.
    Ort
    Mount Maunganui, New Zealand
    Beiträge
    1.035

    Standard

    Trotzdem gehts nicht :/

  13. #13
    Alter Contao-Hase Avatar von bizon
    Registriert seit
    16.06.2010.
    Beiträge
    1.123

    Standard

    Hast du schon geprüft, was $this->class ausgibt? Siehe Tipp in Post #7.
    Code:
    <?php echo $this->class; ?>

  14. #14
    Alter Contao-Hase Avatar von xkoy
    Registriert seit
    23.07.2010.
    Ort
    Mount Maunganui, New Zealand
    Beiträge
    1.035

    Standard

    Hi, nein, wo muss das denn rein? Und wo wird was ausgegeben?

    Danke

  15. #15
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Daniel,

    im Prinzip ist deine Frage doch schon Mist 'da ich eine Schnellanfrage habe, und ein reguläres Kontaktformular'.

    Willst du nun 2 verschiedene Formulare? Dann erstelle dir 2 Formulare. Möchtest du das gleiche Formular auf verschiedenen Seiten anders darstellen, dann formatiere sie mit CSS.

    Es gibt nicht ein Ausgabetemplate für Formulare. Es gibt den Wrapper form.xhtml und für jeden Feldtyp ein eigenes Template form_FIELDTYPE.xhtml.

    Mittlerweile weißt du doch, dass du mit $this->showTemplateVars(); die Variablen ausgeben kannst, die ein Template dir liefert. Im obigen Fall ist doch völlig klar, dass $this->class immer false liefert.

    Beschreibe bitte noch einmal genau, was du machen möchtest, ich bin mir fast sicher, dass du kein Formular-Template verändern möchtest.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  16. #16
    Alter Contao-Hase Avatar von xkoy
    Registriert seit
    23.07.2010.
    Ort
    Mount Maunganui, New Zealand
    Beiträge
    1.035

    Standard

    Hi

    Hm hier ist die Website: http://oberbrunn.dyndns.org/de/willkommen.html

    Da gibts diese DÜNNE variante, Sofortanfrage, klick auf "weiter" kommt mann zum "normalen" Formular, wo die Werte dann übernommen werden!!

    form_widget.html5 will ich nur anpassen, da dort die <br> drinn sind!

    Daniel

  17. #17
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Code:
    #sofortanfrage br {
      display: none;
    }
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  18. #18
    Alter Contao-Hase Avatar von xkoy
    Registriert seit
    23.07.2010.
    Ort
    Mount Maunganui, New Zealand
    Beiträge
    1.035

    Standard

    Jajaaaa Fusch Ich wollts gern mit getrennten TPL machen, weils mich auch so interessieren würd

  19. #19
    Gesperrt
    Registriert seit
    27.09.2011.
    Beiträge
    30

    Standard

    Hallo zusammen,

    vielleicht habe ich die Aufgabe nicht richtig verstanden, korrigier mich falls ich falsch liege.

    Du erstellst 3 Templates:
    • form.xhtml/html5 (Urspruengliches standard-Template)
      PHP-Code:
      <div class="<?php echo $this->class?>" ... >
      <?php 
      $foo 
      explode(" "$this->class); // create Array() of $this->class
      $bar 'myCustomClass';

      if ( 
      in_array($bar$foo) ) : // search $bar in $foo
        // if $bar in $foo
        
      include('form_quick.xhtml/html5'); 
      else :
        
      // if $bar not in $foo
        
      include('form_full.xhtml/html5'); 
      endif;
      unset(
      $foo$bar);
      ?>
      </div>
    • form_quick.xhtml/html5
      PHP-Code:
      /* Dein vollstaendiges Template fuer die Schnellanfrage */ 
    • form_full.xhtml/html5
      PHP-Code:
      /* Dein standard-Template (copy-paste von form.xhtml/html5) */ 
    Hier kannst du dann die Klasse die du für den Artikel eingetragen hast abfragen und das entsprechende Form wird dann gewählt.
    Ich frage lieber auf in_array() statt strpos() ab.

    Problematisch ist, dass du die Klasse AFAIK im Artikel angeben musst. Willst du das Formular nun als Modul im Layout einbinden musst du folgender Maßen vorgehen:
    Artikel erstellen -> Formular als Element eintragen und Klasse vergeben -> Modul erstellen (Eigener HTML-Code) -> Artikel via Inserttag im HTML-Code einfügen -> Modul im Layout einbinden.

    Grüße,
    Patrick
    Geändert von Ayeri (21.06.2012 um 12:09 Uhr)

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
  •