Hallo Zusammen!
Ich suche schon lange nach einer Lösung für folgendes Problem:
Ich brauche ein einfaches Beispiel, wie ich in Typoscript ein PHP-Script aufrufe und diesem Script einen Wert (Integer) übergebe. Danach soll mir dieses PHP-Script einen Integerwert an Typoscript übergeben, welchen ich dann dort weiterbenutzen kann (möchte mit diesem Wert in Typoscript eine Page UID aufrufen).
Hoffe ich konnte mich verständlich ausdrücken 😉.
Schon mal vielen Dank!
#---Hier wird die Random Page ID ausgelesen---
includeLibs.random_select = fileadmin/php_scripts/random_select.php
temp.info = USER
temp.info {
userFunc =random->main
}
tempcontent.10 = CONTENT
tempcontent.10 {
table = tt_content
select {
pidInList = temp.info #---Hier kommt die RandomPageID aus dem Script hin
orderBy = sorting
where = colPos=0
}
}
lib.blauZeile2 < tempcontent.10
Hi,
probier mal:
pidInList.data = temp.info
pidInList.wrap = |
gruss
Ford
Danke FordPrefect!
Er gibt nun den Inhalt aus, aber leider nicht korrekt. Es scheint mir, als ob er die Angaben:
orderBy = sorting
where = colPos=0
nicht übernimmt, da nun die Inhalte aller Spalten ausgegeben werden. Ich habe mal die Reihenfolge des "where" Ausdrucks geändert, aber leider keine Besserung.
Mir ist grade aufgefallen, dass auch wenn ich
pidInList.data = 51
per Hand setze, abwechselnd der Inhalt von Page 51 und 53 angezeigt wird, obwohl eigentlich nur 51 erscheinen sollte.
Hast du vielleicht noch so nen guten Tipp?
Gruß Chokeholder
Hi!
"pidInList = 51" liefert das korrekte Ergebnis, es wird nur die gewünschte Spalte angezeigt.
"pidInList.data = 51" und "pidInList.data = temp.info" liefern die gleichen, leider falschen Ergebnisse. Es werden alle Spalten ausgegeben, seltsamer Weise die Inhalte von PageID 51 oder 53, per Zufall (was ich nicht will), manchmal auch die Inhalte beider PageIDs untereinander. 51 und 53 haben die gleiche Parent ID 50.
Seitenbaum:
Page 50
|- Page 51
|- Page 53
Leider konnte mir dein Link nicht weiterhelfen, ich arbeite weder mit Markern noch mit Frames. Der Fehler muss in dieser select Anfrage liegen.
Das php Script macht nicht mehr als Folgendes:
$content = 51;
return $content;
Gruß Choke
Hi,m
schreibs mal so:
pidInList.data < temp.info
Ändert leider nichts.
Seltsam ist, dass er dann die where Klausel gar nicht berücksichtigt. Der Fehler muss irgendwo anders liegen.
Wenn ich das mit pidInList.data = 51 mache, gehts ja auch nicht.
pidInList = 51 geht.
Gibts da noch anderes Varianten?
Das Problem liegt in
pidInList.data = xyz
auch wenn ich zB:
pidInList.data= 30
schreibe, kommt abwechselnd der ganze Content von Page 51 oder 53, auch wenn sonst nichts anderes im Template dazu steht.
Warum klappt es bei bei
pidInList= 30 (ohne .data) ???
Das kann doch nicht sein
Hi,
den Snippet hab ich mal im netz gefunden:
select.pidInList = PHP_SCRIPT_EXT
select.pidInList.value = media/scripts/random_content.php
oder
select.pidInList = PHP_SCRIPT_EXT
select.pidInList.data = media/scripts/random_content.php
Gruss
ford
Hallo!
Nachdem ich das Problem nicht lösen konnte, habe ich das PHP Script direkt als Content Element gemacht. Problem jetzt: Ich muss den Content nun per Hand (besser gesagt das PHP Script tut dies) formatieren, aber immerhin habe ich so erreicht was ich will. Oder gibts einen Weg in einem PHP Script die Rendering Engine für die Contentspalte von Typo3 zu nutzen!
Vielen Dank!!!