Servus,
da ich eine Schnellanfrage habe, und ein reguläres Kontaktformular, ist die frage wie kann ich 2 vers. Templates aufbauen??
Daniel
Servus,
da ich eine Schnellanfrage habe, und ein reguläres Kontaktformular, ist die frage wie kann ich 2 vers. Templates aufbauen??
Daniel
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...
Naja so würd ich es ja machen, nur wo gebe ich an welches template ich nutzen will im EFG ???
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...
Ahh Super, danke Dir, hat mir geholfen
Also es will nich funken, beide Varianten getestet, nichts geht
So habe ichs, aber er läd nur das normale, das 2. tpl wird nicht geladenCode:<?php $pos = strpos($this->class, 'kontaktsofort'); if ($pos === false) { include('form_widget_normal.html5'); } else { include('form_widget_sofort.html5'); } ?>
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...
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...
Ich komm nich mehr mit jetzt
Wenn ich in der if Abfrage die TPL tausche, dann greift immer nur das erste.
Rainer G. aus H.
www.BunteReisebilder.de
Geht leider auch nicht
@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:
Daher würde ein Vergleich mit == fehlschlagen.PHP-Code:
if (0 == false)
{
// liefert true, da nur der Wert verglichen wird
}
if (0 === false)
{
// liefert false, da 0 vom Typ int und false vom Typ boolean ist
}
Was ist das? - Blaues Licht - Und was macht es? - Es leuchtet blau...
Trotzdem gehts nicht :/
Hast du schon geprüft, was $this->class ausgibt? Siehe Tipp in Post #7.
Code:<?php echo $this->class; ?>
Hi, nein, wo muss das denn rein? Und wo wird was ausgegeben?
Danke
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
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
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
Jajaaaa Fusch Ich wollts gern mit getrennten TPL machen, weils mich auch so interessieren würd
Hallo zusammen,
vielleicht habe ich die Aufgabe nicht richtig verstanden, korrigier mich falls ich falsch liege.
Du erstellst 3 Templates:Hier kannst du dann die Klasse die du für den Artikel eingetragen hast abfragen und das entsprechende Form wird dann gewählt.
- 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) */
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 in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen