Zum Inhalt springen

Eigenen Link zusammenbasteln und übergeben

Erstellt am 22. Dezember 2006 · 2 Antworten · letzte Antwort am 23. Dezember 2006

Tags: Links, PHP, Frage

BlackPixel ·

Nachdem ich früher die Links immer selbst gebastelt habe, hab ich hierg gelesen das man das nicht selber tun sollte in Verbindung mit Typo3.

Hab mich dann mal rangesetzt und kapier da was nicht:

$linkvar=$this->prefixId.'[cam]';
	
$content.='
'.$this->pi_linkToPage($row["camera"],$GLOBALS['TSFE']->id,
'', $linkvar).'</p><br>
'.$var=$this->piVars['cam'].'
';

#1 Variable basteln
#2 Content generieren
#3 Auslesen

Sollte sich da nun nicht mein Link ändern? Ich steh total auf dem Schlauch... Ich bin verblüfft und überrascht zu gleich.

Erbarmt sich jemand, mir zu erklären was ich da treibe???

Und um den Fragen gleich vorwegzukommen: Ich habe weder getrunken noch was schadhaftes geraucht! :o :o

Ziel ist es einfach, eigene variablen an den Link zu hängen, um dann im Programm weitermachen zu können. Die Extensions die ich bis jetzt geschrieben hatten sowas nie erforert... aber das hier ist ja fast das Tor zur Hölle! :o

PS: Ich seh gerade, mein Freund ist auch hier im Forum -> #angry# 😃

larsmessmer ·

Hallo

Um Parameter an einen Link resp. URL zu hängen wird
"additionalParams" benutzt, dann muss du aber noch definieren in welchem Element.

Hier zum Beispiel ein Parameter an einen Link im Content hängen:

tt_content.text.20.parseFunc.tags.link.typolink.additionalParams = &parameter=wert

Gruss Lars

steffenk ·

Die Linkfunktion geht so:

function pi_linkToPage($str,$id,$target='',$urlParameters=array())

$str ist der Linktext
$id ist die SeitenID, auf die verlinkt wird
$target ist das Ziel (leer, '_blank', etc)
$urlParameters sind die Parameter, sprich die Linkvariabeln

letztere hast Du falsch, die müssen als array vorliegen,
also

$urlParameters = array(
  $this->prefixId.'[cam]' => 25,
  $this->prefixId.'[wert2]' => 4,
);

Daraus entsteht dann der Link:
(Beispiel: id=15, $this->prefixId=my_ext_pi1)

index.php?id=15&my_ext_pi1[cam]=25&my_ext_pi1[wert2]=4