Frage Advancedform_XH Parameter in URL übergeben
Frage Advancedform_XH Parameter in URL übergeben
Hi,
ich baue gerade eine kleine Webseite für einen Verein mit cmsimple_XH. Ich habe mir dann das Mailformular angesehen und es sind Parameter möglich wie z.B.?mailform&xh_mailform_subject=Anfrage
Nur wird der Betreff mit "Anfrage" gefüllt. Da mir aber die normale Kontaktform nicht ausreicht und ich wegen eines anderen Anwendungsfalles bereits Advancedform_XH im Einsatz habe, wollte ich diese Funktion auch gerne für mein Kontaktformular mit Advancedform_XH verwenden.
In der Anleitung habe ich etwas von Hooks gelesen. Bevor ich tiefer in das Thema einsteige wollte ich fragen, ob es auch einen leichteren weg gibt?
Hab schon etwas rumprobiert, aber leider ohne Erfolg.
Würd mich über einen Tipp freuen.
Gruß, Michael
ich baue gerade eine kleine Webseite für einen Verein mit cmsimple_XH. Ich habe mir dann das Mailformular angesehen und es sind Parameter möglich wie z.B.?mailform&xh_mailform_subject=Anfrage
Nur wird der Betreff mit "Anfrage" gefüllt. Da mir aber die normale Kontaktform nicht ausreicht und ich wegen eines anderen Anwendungsfalles bereits Advancedform_XH im Einsatz habe, wollte ich diese Funktion auch gerne für mein Kontaktformular mit Advancedform_XH verwenden.
In der Anleitung habe ich etwas von Hooks gelesen. Bevor ich tiefer in das Thema einsteige wollte ich fragen, ob es auch einen leichteren weg gibt?
Hab schon etwas rumprobiert, aber leider ohne Erfolg.
Würd mich über einen Tipp freuen.
Gruß, Michael
Re: Frage Advancedform_XH Parameter in URL übergeben
Falls es nur um den Betreff in Advancedform geht (?), dann kannst du das in der Plugin-Konfiguration einstellen:
Plugins -> Advancedform -> Sprache ->
Abschnitt: Mail -> Subject -> %1$s auf %2$s gesendet von %3$s
Platzhalter:
%1$s = der Name des Formulars
%2$s = deine Serveradresse
%3$s = Ip des Besuchers
Du kannst dort eigenen Text einfügen und auch die Platzhalter beliebig verwenden - oder auch weglassen
Plugins -> Advancedform -> Sprache ->
Abschnitt: Mail -> Subject -> %1$s auf %2$s gesendet von %3$s
Platzhalter:
%1$s = der Name des Formulars
%2$s = deine Serveradresse
%3$s = Ip des Besuchers
Du kannst dort eigenen Text einfügen und auch die Platzhalter beliebig verwenden - oder auch weglassen
Re: Frage Advancedform_XH Parameter in URL übergeben
Hi, sorry, dass ich mich etwas falsch ausgedrückt habe, aber ich meine diese Funktion der Standardmailform:
http://wiki.cmsimple-xh.org/doku.php/mailform#embedding
Im Prinzip also die Funktionalität der query strings. Vermutlich ist das mit Advancedforms nicht standardmäßig möglich?
Das Problem mit dem Standardmailformular ist, dass es aus einen mir nicht ersichtlichen Grund ein zweites h1 Element erzeugt wird, obwohl ich folgendes verwende:
Es wird ein h1 Element für die Überschrift pagename() erzeugt und ein zweites h1 Element für "Kontakt-Formular". Dies ist m.E. nicht richtig und "Kontakt-Formular" müsste in pagename() geschrieben werden. Außerdem wird ein <div id="xh_mailform"> zuviel ausgegeben (lt. Validator). Kann man die Standardform irgendwie editieren?
Gruß, MIchael
Code: Select all
Since CMSimple_XH 1.6.5 it is possible to alter the mail subject field preset by a parameter
{{{XH_mailform('myMailSubject');}}}
or by a variable in the query string
<a href="?mailform&xh_mailform_subject=Registration>Ask for registration</a>
<a href="?myMailformPageWithPluginCall&xh_mailform_subject=Registration>Ask for registration</a>
Note, that more than one mail form on the same HTML page may not work as expected. Since CMSimple_XH 1.6.2 at most one mailform is displayed in this case.
Im Prinzip also die Funktionalität der query strings. Vermutlich ist das mit Advancedforms nicht standardmäßig möglich?
Das Problem mit dem Standardmailformular ist, dass es aus einen mir nicht ersichtlichen Grund ein zweites h1 Element erzeugt wird, obwohl ich folgendes verwende:
Code: Select all
<article>
<h1><?php echo pagename(); ?></h1>
<?php echo content();?>
</article>
Gruß, MIchael
Re: Frage Advancedform_XH Parameter in URL übergeben
Selbiges ist mir bei der Suche etc. aufgefallen.Schatz wrote: ↑Sun May 20, 2018 12:40 pmEs wird ein h1 Element für die Überschrift pagename() erzeugt und ein zweites h1 Element für "Kontakt-Formular". Dies ist m.E. nicht richtig und "Kontakt-Formular" müsste in pagename() geschrieben werden. Außerdem wird ein <div id="xh_mailform"> zuviel ausgegeben (lt. Validator). Kann man die Standardform irgendwie editieren?
Um das zu ändern habe ich testweise die Datei controller.php ab Zeile 104 wie folgt geändert:
Code: Select all
public function handleMailform()
{
global $cf, $tx, $title, $o;
if ($cf['mailform']['email'] != '') {
$title = $tx['title']['mailform'];
$cf['site']['title'] = $title;
//$o .= "\n" . '<div id="xh_mailform">' . "\n";
//$o .= '<h1>' . $title . '</h1>' . "\n";
$mailform = $this->makeMailform();
$o .= $mailform->process();
//$o .= '</div>' . "\n";
} else {
shead(404);
}
Gruß, Michael
Re: Frage Advancedform_XH Parameter in URL übergeben
Hm, da habe ich doch wohl ziemlich falsch verstanden.
Ich glaubte, dass du auf jeden Fall Advancedform verwenden willst, da dir das Standard-Formular nicht ausreicht.
Wir hatten schonmal eine Diskussion über die Übergabe von Daten per Query-String in Advancedform:
viewtopic.php?f=16&t=12066#p55949
Wenn du dir das mal alles durchliest (isnichsoviel), findest du vielleicht das Gewünschte.
Es gibt auf jeden Fall die Möglichkeit für jedes Formular ein Template zu erzeugen.
Das h1-Problem verstehe ich auch nicht so ganz.
Du packst deinen Inhalt in einen <article> und möchtest die h1-Überschrift automatisch auf allen Seiten per pagename() anzeigen?
Das finde ich zumindest ungewöhnlich.
Die jeweilige erste h1 sollte im Editor händisch gesetzt werden (ab XH 1.7.x).
Das Standard-Formular erzeugt - so glaube ich zu wissen - den gesamten Inhalt inkl. h1 automatisch in einem DIV. Text davor oder dahinter ist nicht vorgesehen.
Ich glaubte, dass du auf jeden Fall Advancedform verwenden willst, da dir das Standard-Formular nicht ausreicht.
Wir hatten schonmal eine Diskussion über die Übergabe von Daten per Query-String in Advancedform:
viewtopic.php?f=16&t=12066#p55949
Wenn du dir das mal alles durchliest (isnichsoviel), findest du vielleicht das Gewünschte.
Es gibt auf jeden Fall die Möglichkeit für jedes Formular ein Template zu erzeugen.
Das h1-Problem verstehe ich auch nicht so ganz.
Du packst deinen Inhalt in einen <article> und möchtest die h1-Überschrift automatisch auf allen Seiten per pagename() anzeigen?
Das finde ich zumindest ungewöhnlich.
Die jeweilige erste h1 sollte im Editor händisch gesetzt werden (ab XH 1.7.x).
Das Standard-Formular erzeugt - so glaube ich zu wissen - den gesamten Inhalt inkl. h1 automatisch in einem DIV. Text davor oder dahinter ist nicht vorgesehen.
Wiki wrote:If you want to add any informative text before or after the mail form, however, that is not possible.
Re: Frage Advancedform_XH Parameter in URL übergeben
"Pullrequest bei github" wäre genau der richtige Weg oder eben ein Beitrag unter Issues - falls das Anliegen berechtigt ist
Ich fürchte allerdings, dass hier ein Missverständnis vorliegt. (siehe meinen letzten Post "h1")
Re: Frage Advancedform_XH Parameter in URL übergeben
Denke auch, dass ich das falsch verstanden habe. Ich wusste nicht, dass das h1 Element manuell in der Seite eingebunden werden soll. Dann stell ich die Seite entsprechend um. Danke für die Info.
Bei der Mailform gibt es meines Erachtens dennoch einen Fehler, lt. Validator: Duplicate ID xh_mailform
Sieht man auch auf der Demoseite:
Code: Select all
<div id="xh_mailform">
<h1>Kontakt-Formular</h1>
<div id="xh_mailform"></div>
Gruß, Michael
Re: Frage Advancedform_XH Parameter in URL übergeben
Sieht so aus, als hättest du tatsächlich einen Bug gefunden.
Auch in meiner loKalen Installation taucht der xh_mailform-Div zweimal auf.
Das hat bisher noch keiner bemerkt.
Jetzt wäre der richtige Zeitpunkt für ein Issue auf Github ...
(Ich habe es schonmal hier gemeldet.)
Last edited by frase on Sun May 20, 2018 4:03 pm, edited 1 time in total.
Re: Frage Advancedform_XH Parameter in URL übergeben
Das ist übrigens auch schon in XH 1.6.10 so - vielleicht auch schon früher ?
You do not have the required permissions to view the files attached to this post.
Re: Frage Advancedform_XH Parameter in URL übergeben
Siehe dazu viewtopic.php?t=9341#p49766
Das <div id="xh_mailform"></div> ist wichtig für einen OnePager und wird als Sprungpunkt/Anker gebraucht, hier taucht die id dann nur einmal auf (Beispiel).
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“ Ludwig's XH-Templates for MultiPage & OnePage