Hallo wieder einmal.
Prozedere:
Der Kunde bucht im Frontend einen Termin.
Klappt alles.
Zum Abschluß erhält er ein Mail, mit einem Link, um seine Buchung zu bestätigen.
Den Link setze ich so:
$text .= "http://www.die-domain.de/" . $this->pi_getPageLink($GLOBALS['TSFE']->id,'',array($this->prefixId.'[kunde]'=> $lastID));
Und hier hakt's denn der letzte Teil [kunde]=XXX wird scheinbar nicht als Teil des Links interpretiert und damit nicht mit übergeben ...
Bitte bestätigen Sie durch das Drücken des folgenden Links Ihre Teilnahme ...
http://www.die-domain.de/index.php?id=5&tx_ekseminar_pi1[kunde]= die Nr seines Datensatzes
Kann mir jemand einen Tip geben, wie ich die die Daten in den Link bekomme?
Danke!
Ed
Probier es mal so:
$text .= "http://www.die-domain.de/";
$this->pi_linkTP($text,array($this->prefixId . '[kunde]' => $lastId),'',$GLOBALS['TSFE']->id);
edit .. ach getpagelink ..
$text = "http://www.die-domain.de/";
$link = $text.$this->pi_getPageLink($GLOBALS['TSFE']->id,'',array($this->prefixId . '[kunde]' => $lastId))
Leider nein 😢
[kunde]=XXX bleibt außerhalb des Links und wird nicht übergeben.
http://www.die-domain.de/index.php?id=5&tx_ekseminar_pi1[kunde]=49
versuch es mal mit
$this->cObj->getTypoLink($label,$params,$urlParameters)
genaue Infos findest du in der API
... im Mail steht dann
<a href="http://www.die-domain.de/index.php?id=5" target="_top" >Bestätigen</a>
auch hier werden die URL-Parameter nicht angezeigt und auch nicht übergeben.
Schade #paralyzed#
$this->pi_linkTP_keepPIvars_url(array('kunde' => $kunde','nochwas' => $nochwas ), weitere parms wie cache usw);
PS: in pibase sind noch mehr nützliche:
* SECTION: Link functions
* 277: function pi_getPageLink($id,$target='',$urlParameters=array())
* 293: function pi_linkToPage($str,$id,$target='',$urlParameters=array())
* 308: function pi_linkTP($str,$urlParameters=array(),$cache=0,$altPageId=0)
* 331: function pi_linkTP_keepPIvars($str,$overrulePIvars=array(),$cache=0,$clearAnyway=0,$altPageId=0)
* 355: function pi_linkTP_keepPIvars_url($overrulePIvars=array(),$cache=0,$clearAnyway=0,$altPageId=0)
* 373: function pi_list_linkSingle($str,$uid,$cache=FALSE,$mergeArr=array(),$urlOnly=FALSE,$altPageId=0)
Stundenlang herumprobiert => für die katz
ich komm nicht drauf .. [kunden]=Nummer bleibt entweder außerhalb des Links oder nur die HTML mit Fragmenten des Links werden angezeigt.
kann man so blöd sein .. ich kann mir die APIs stundenlang durchlesen und finde keine Lösung.
Schubst mich mal wer?
Danke!
Ed
Jetzt gib bitte mal Haargenau noch einmal die betroffenen Zeilen aus deinem Code.
$betreff = 'Ihre Buchung für das Seminar am ' . $datum . ' in ' . $ort;
$text .= 'Hallo ' . $wer . "\n\n";
$text .= 'Sie haben sich für das Seminar am ' . $datum . ' in ' . $ort . " angemeldet.\n\n";
$text .= "Bitte bestätigen Sie Ihre Teilnahme mit dem folgenden Link ...\n";
$text .= "http://www.die-domain.de/" . $this->pi_getPageLink($GLOBALS['TSFE']->id,'',array($this->prefixId.'[kunde]'=> $lastID));
$text .= "\n\n Ohne diese Bestätigung können wir Ihre Buchung\n nicht berücksichtigen\n\n";
$text .= "Mit freundlichen Grüßen\n\n das Team von die-Domain";
if (strstr($empfaenger, '@') && !eregi("\r",$empfaenger) && !eregi("\n",$empfaenger))
{
$sent = mail($empfaenger, $betreff, $text, $versender);
} else {
echo 'nix wars';
}
Bei der Antwort soll via [kunde] dann eine Funkton aufgerufen werden, den Wert von "kunde" stellt die uid des Kunden dar. In der Funktion wird das Feld "bestätigt" (oder so) des Kunden-Datensatzes gefüllt.
es würde alles so schön passen ...
Danke!
Ed
Warte mal, kann es sein das es schlichtweg daran liegt das es eine E-Mail ist? Ist das eine HTML-Mail? Oder so ne ganz normale? Wie schaut jetzt im Moment den der geparste Code aus?
.. ist über die mail() - funktion aus PHP.
So kommt das mail:
Hallo Herr Sonstwer!
Sie haben sich für das Seminar am 05.05.08 in Sonstwo angemeldet.
Bitte bestätigen Sie Ihre Teilnahme mit dem folgenden Link ...
http://www.domain.tld/index.php?id=5&tx_ekseminar_pi1[kunde]=100
Ansonsten können wir Ihre Buchung nicht berücksichtigen
Mit freundlichen Grüßen
das Team vom ....
[kunde]=100 wird nicht mit übergeben, wenn der Link gedrückt wird.
soll wirklich die mail() function eine Rolle spielen? der link wird ja in $text generiert ??
Hallo,
Mach den Link mal in " " 🙂
Liegt am Mailprogramm 🙂
MFG
War dann doch "ganz einfach"
Den Link in "" setzen
den Link in
$var = $this->pi_getPageLink($GLOBALS['TSFE']->id,'',array($this->prefixId.'[kunde]'=> $lastID));
$var_encode = urlencode ( $var );
$text .= '<a href="http://www.domain.tld/' . $var_encode . '">Ich bestätige meine Teilnahme am Seminar</a>';
ändern und die Umlautprobleme aus einer utf-8 Datenbank mit utf8_decode lösen
😃
Danke!
Ed