Zum Inhalt springen

Bei gesetzter GET var anderes PAGE Objekt nutzen

Erstellt am 17. Juni 2008 · 4 Antworten · letzte Antwort am 17. Juni 2008

Tags: RealURL, Frage

eisstern ·

Hallo
Ich verwende Typo3 4.1.3 mit realurl 1.1.4.

Ich habe mir in RealURL eine Variable für meine Extension festgelegt: /whitepaper/wert/ bzw. tx_glwhitepaper_pi1[whitepaper] und das auslesen funktioniert auch.

Nun möchte ich, wenn diese Variable in der URL gefunden wird, dass mein komplettes PAGE-Objekt ein anderes ist. Es soll dann stattdessen eine Seite (WHITEPAPER) mit der als wert angegebenen PDF geöffnet werden.

Dafür habe ich mir eine eigene UserFunc geschrieben:

<?
function checkWhitepaper(){
  $return = false;
  if(isset($_GET['tx_glwhitepaper_pi1'])){
    $return = true;
  }
  return $return;
}
?>

Im Setup habe ich dann folgendes:

page = PAGE
page.typeNum = 0
......

[userFunc = checkWhitepaper()]
includeLibs.irgendwas = typo3conf/ext/gl_whitepaper/pi1/class.tx_glwhitepaper_pi1.php

WHITEPAPER = PAGE
WHITEPAPER.typeNum = 5
WHITEPAPER{
  1 = USER_INT
  1.userFunc = tx_glwhitepaper_pi1->main
  config {
    disableAllHeaderCode = 1
    additionalHeaders = Content-type:text/html
    no_cache = 1
    xhtml_cleaning = 0
  }
}
[global]

Wenn ich nun aber eine Seite mit den entsprechden Variablen aufrufe, wir mir immernoch PAGE statt WHITEPAPER angezeigt.
Was habe ich falsch gemacht?

just2b ·

naja weil WHITEPAPER auch nur aufgerufen wird wenn du type=5 in der url hast, du setzt ja auch ein typeNum=5

setz das auf 0 und lösch das page mit page >

btw die userfunc kannst du dir sparen wenn du gleich das verwendest

[globalVar = GP:tx_glwhitepaper_pi1=1]

georg

eisstern ·

Danke für die schnelle Antwort.

Auf das mit dem typeNum hätte ich auch selbst kommen können... Irgendwann wird man Betriebsblind ^^.

Das war aber leider nicht das eigentliche Problem. Der Test mit

[globalVar = GP:tx_glwhitepaper_pi1=1]

funktioniert leider nicht. Es erscheint weiterhin page.

Wenn ich aber mit

[globalVar = GP:tx_glwhitepaper_pi1|pdf = test]

überprüfe, wird WHITEPAPER ausgeführt.

eisstern ·

So wie du es geschrieben hast, sollte auch eigentlich funktionieren.

Ich hatte mich auch vertippt: tx_glwhitepaper_pi1[whitepaper] sollte tx_glwhitepaper_pi1[pdf] heißen, nur die realURL postVar heißt /whitepaper/.
Tut mir Leid wegen der Verwirrung.
D.h. es ist die gleiche Variable aus deiner ersten Annahme, egal ob da whitepaper oder pdf steht #giggle# . Das Problem besteht also weiterhin.