[TYPO3-german] Denkfehler bei $this->pi_getPageLink
Christian Holzmannn
larryc at gmx.at
Wed Apr 5 11:15:04 CEST 2006
Hallo Thomas!
Also dass
<input type="hidden" name="test" value="'.$this->pi_getPageLink(12).'"/>
NICHT funktioniert, kann ich mir nur schwer vorstellen, es sei denn, es
gibt die ID 12 nicht oder Du hast keine Zugriff auf die Seite (Du kannst
also nicht VOR dem einem Login einen Link zu einer Seite setzen, zu der
Du erst NACH dem Login zugriff hast!
Die pi_getPageLink ruft die Funktion getTypoLink_URL der Klasse
tslib_cObj auf, die wiederum getTypoLink aufruft, welcher wiederum
typolink aufruft. ;-)
Dort wird unter anderem auch überprüft, ob diese ID oder das Alias
existert und ob man aktuell Zugriff darauf hat (Rechte
/Frontenduser-LOGIN!) etc...
Also wird das genau das Problem sein, das Du hast.
Du bist noch nicht eingeloggt, willst aber einen Link auf eine Seite
setzen, auf die Du noch keinen Zugriff hast.
Du findest die Funktion hier, ich weiß nicht wie sehr Du in PHP
bewandelt bist, aber vielleicht findest Du einen anderen Weg!
http://typo3.org/fileadmin/typo3api-3.8.0/d5/df4/tslib_2class_8tslib__content_8php-source.html#l04841
Hoffe geholfen zu haben
Lg Chris
Thomas Janke schrieb:
> Hallo,
>
> ich benoetige fuer die newloginbox ein bisschen mehr Flexibilitaet.
> Je nachdem auf welcher Seite man sich einloggt, soll man auf andere
> Seiten redirectet werden.
>
> Mit den statischen Einstellung ist alles ok.
>
> Jetzt habe ich mit eine TS-Variable gebaut, in etwa so:
>
> plugin.tx_newloginbox_pi1.loginredirectpageid = 12
> [PIDinRootline = 13]
> plugin.tx_newloginbox_pi1.loginredirectpageid = 14
> [global]
>
> mit $this->conf['loginredirectpageid'] kommt die Variable auch gut im
> Extension-Code an.
>
> Wenn ich jetzt auf Basis dieser Variablen einen "schicken" Pfad mit
> $this->pi_getPageLink($this->conf['loginredirectpageid']) erzeugen
> moechte, dann bleibt mein Wert leer.
>
> Kurz:
>
> Funktioniert nicht:
> <input type="hidden" name="test" value="'.$this->pi_getPageLink(12).'"/>
>
> Funktioniert nicht:
> <input type="hidden" name="test"
> value="'.$this->pi_getPageLink(%this->conf['loginredirectpageid']).'"/>
>
> Funktioniert (zwar nicht mit Pfad aber ID kommt an):
> <input type="hidden" name="test"
> value="'.$this->conf['loginredirectpageid'].'"/>
>
> Funktioniert:
> <input type="hidden" name="test" '
> .htmlspecialchars($this->pi_getPageLink($GLOBALS['TSFE']->id,'_top')).'" />
>
> Was mache ich falsch? Ich habe irgendwie schon alles ausprobiert, aber
> sobald ich $this->pi_getPageLink benutze kommt der Pfad der ID nicht
> mehr an, drei Zeilen darueber oder direkt mit $GLOBALS['TSFE']-id
> funktioniert es jedoch.
>
> Danke fuer Eure Tipps,
>
> Gruss Thomas
>
> PS: die Loesung den kompletten Pfad direct in TS anzugeben funktioniert,
> finde ich aber unschoen, da ich mein TS ja nicht mehr anfassen moechte,
> wenn es mal umzieht.
More information about the TYPO3-german
mailing list