Zum Inhalt springen

Problem mit typolink

Erstellt am 4. November 2007 · 5 Antworten · letzte Antwort am 5. November 2007

Tags: Frage

ajackson ·

Hallo zusammen,

ich habe mich nach nach einigen Erfahrungen mit Typo3 nun an meine erste eigene Extension gewagt und habe momentan ein wirklich nicht fassbares Problem.

Ich versuche gemäß allen Anleitungen im Netz in einer Liste einen Link zu generieren, aber anstatt der Zielseiten-ID taucht im Link immer die ID der momentanen Seite auf.

Hier mein PHP-Code:

$temp_conf = $this->typolink_conf;
$temp_conf["parameter"] = "45";
$temp_conf["additionalParams"] = "&tx_iasproductlist[uid]=";
$temp_conf["additionalParams"] .= $row['uid'];
$temp_conf["no_cache"] = !$this->allowCaching;

$markerArray["###LINK###"] = $this->local_cObj->typolink("Details", $temp_conf);

Kann mir wer sagen was ich hier falsch mache?
Ich habe was gelesen dass man u.U. die Parameter wie folgt laden müsste:
typolink.parameter.data = parameters : allParams

Aber ich weiß hier nicht, wie dieser Befehl in php einzutragen ist.

Kann mir wer helfen?

Danke und Gruß
Andreas

steffenk ·

das spielt keine Rolle, ob "45" oder 45.

Dein Array scheint nicht korrekt gefüllt zu sein, lass es Dir anzeigen

t3lib_div::debug($temp_conf,'link array');

und nutz doch bitte Codeboxen.

ajackson ·

Vielen Dank für Eure Tipps,

die Variante ohne " " hatte ich natürlich auch schon probiert.

Dank dem Debugging habe ich aber nun rausgefunden dass weiter oben beim Vorbereiten des Links (entnommen dem Tutorial auf hachmeister.org) offensichtlich was nicht stimmte.

// 
Preconfigure the typolink
    $this->local_cObj = t3lib_div::makeInstance("tslib_cObj");
    $this->local_cObj->setCurrentVal($GLOBALS["TSFE"]->id);
    $this->typolink_conf = $this->conf["typolink."];
    $this->typolink_conf["parameter."]["current"] = 1;
    $this->typolink_conf["additionalParams"] =
      $this->cObj->stdWrap($this->typolink_conf["additionalParams"],
      $this->typolink_conf["additionalParams."]);
    unset($this->typolink_conf["additionalParams."]);
 
    // Configure caching
    $this->allowCaching = $this->conf["allowCaching"]?1:0;
    if (!$this->allowCaching) {
      $GLOBALS["TSFE"]->set_no_cache();
    }

Offensichtlich störte er sich an der Zeile ["parameter."]["current"]=1;
Wenn ich die rausnehme funktioniert es.
Gibt es einen zwingenden Grund den Wert hier vorab zu setzen?

Vielen Dank für Eure Hilfe.

Sorry für das 1. Posting ohne PHP-Container.

Gruß
Andreas

steffenk ·

parameter.current heisst, das der "aktuelle Parameter" der letzten Typolinkfunktion genommen wird, also die aktuelle Seite.