pi_getPageLink [Gelöst]

  • ed59 ed59
    T3PO
    0 x
    15 Beiträge
    0 Hilfreiche Beiträge
    18. 03. 2008, 15:37

    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 ...
    [u]http://www.die-domain.de/index.php?id=5&tx_ekseminar_pi1[/u][kunde]= [i]die Nr seines Datensatzes[/i]

    Kann mir jemand einen Tip geben, wie ich die die Daten in den Link bekomme?

    Danke!
    Ed


  • laser laser
    Sternenflotten-Admiral
    0 x
    204 Beiträge
    0 Hilfreiche Beiträge
    18. 03. 2008, 16:23

    Probier es mal so:

    1. $text .= "http://www.die-domain.de/";
    2. $this->pi_linkTP($text,array($this->prefixId . '[kunde]' => $lastId),'',$GLOBALS['TSFE']->id);

    edit .. ach getpagelink ..

    1. $text = "http://www.die-domain.de/";
    2. $link = $text.$this->pi_getPageLink($GLOBALS['TSFE']->id,'',array($this->prefixId . '[kunde]' => $lastId))

  • ed59 ed59
    T3PO
    0 x
    15 Beiträge
    0 Hilfreiche Beiträge
    18. 03. 2008, 16:52

    Leider nein :'(
    [kunde]=XXX bleibt außerhalb des Links und wird nicht übergeben.

    [u]http://www.die-domain.de/index.php?id=5&tx_ekseminar_pi1[/u][kunde]=49

  • matschem matschem
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    18. 03. 2008, 21:15

    versuch es mal mit

    1. $this->cObj->getTypoLink($label,$params,$urlParameters)

    genaue Infos findest du in der API

  • ed59 ed59
    T3PO
    0 x
    15 Beiträge
    0 Hilfreiche Beiträge
    19. 03. 2008, 00:27

    ... im Mail steht dann

    <a href="[u]http://www.die-domain.de/index.php?id=5[/u]" target="_top" >Bestätigen</a>

    auch hier werden die URL-Parameter nicht angezeigt und auch nicht übergeben.

    Schade #paralyzed#

  • boonkerz boonkerz
    Jedi-Meister
    0 x
    475 Beiträge
    0 Hilfreiche Beiträge
    19. 03. 2008, 00:45

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

  • boonkerz boonkerz
    Jedi-Meister
    0 x
    475 Beiträge
    0 Hilfreiche Beiträge
    19. 03. 2008, 00:49

    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 ed59
    T3PO
    0 x
    15 Beiträge
    0 Hilfreiche Beiträge
    19. 03. 2008, 20:04

    Stundenlang herumprobiert => für die katz

    ich komm nicht drauf .. [kunden]=[i]Nummer[/i] 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

  • laser laser
    Sternenflotten-Admiral
    0 x
    204 Beiträge
    0 Hilfreiche Beiträge
    19. 03. 2008, 21:44

    Jetzt gib bitte mal Haargenau noch einmal die betroffenen Zeilen aus deinem Code.

  • ed59 ed59
    T3PO
    0 x
    15 Beiträge
    0 Hilfreiche Beiträge
    19. 03. 2008, 21:52

    1. $betreff = 'Ihre Buchung für das Seminar am ' . $datum . ' in ' . $ort;
    2. $text .= 'Hallo ' . $wer . "\n\n";
    3. $text .= 'Sie haben sich für das Seminar am ' . $datum . ' in ' . $ort . " angemeldet.\n\n";
    4. $text .= "Bitte bestätigen Sie Ihre Teilnahme mit dem folgenden Link ...\n";
    5.  
    6.  
    7. $text .= "http://www.die-domain.de/" . $this->pi_getPageLink($GLOBALS['TSFE']->id,'',array($this->prefixId.'[kunde]'=> $lastID));
    8.  
    9. $text .= "\n\n Ohne diese Bestätigung können wir Ihre Buchung\n nicht berücksichtigen\n\n";
    10. $text .= "Mit freundlichen Grüßen\n\n das Team von die-Domain";
    11.  
    12. if (strstr($empfaenger, '@') && !eregi("\r",$empfaenger) && !eregi("\n",$empfaenger))
    13. {
    14. $sent = mail($empfaenger, $betreff, $text, $versender);
    15. } else {
    16. echo 'nix wars';
    17. }


    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