Zum Inhalt springen

pi_getPageLink

Erstellt am 18. März 2008 · 13 Antworten · letzte Antwort am 22. März 2008

Tags: Links, Frage

boonkerz ·

$this->pi_linkTP_keepPIvars_url(array('kunde' => $kunde','nochwas' => $nochwas ), weitere parms wie cache usw);

boonkerz ·

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)

ed59 ·

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

ed59 ·
$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

laser ·

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?

ed59 ·

.. 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 ??

ed59 ·

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