Zum Inhalt springen

php-skripte parsen, damit rückgabewert html wird

Erstellt am 17. August 2004 · 4 Antworten · letzte Antwort am 18. August 2004

Tags: Frage

nickname ·

Hallo!

Ich möchte gerne einen bestehenden Shop (in PHP geschrieben) in Typo3 übernehmen. Dazu muss ich jedoch (nach aktuellem Kenntnisstand) das Resultat des PHP-Skripts des Shops zuerst parsen und zu fertigem HTML umwandlen lassen, bevor ich es als Rückgabewert einer Extension durch Typo ausgeben lasse.
Wie kann ich nun das PHP-Skript "ausführen", und das Ergebnis zurück an Typo übergeben???

Vielen Dank für eure Hilfe

maxhb ·
nickname schrieb

Wie kann ich nun das PHP-Skript "ausführen", und das Ergebnis zurück an Typo übergeben???

Zwei Möglichkeiten:
1. Führe den Shop komplett in einem Iframe aus, dann ist eine Typo3 Integration nicht notwendig
2. Schau Dir mal ddie php-Funktion ob_start() an. Da findest Du einiges zum Thema Output Buffering. Im Prinzip startest Du das Buffering, erzeugtst den HTML Code per Shop und übergibst dann den gepufferten Code an Typo3

CU
maxhb

nickname ·

Hallo maxhb!

Vielen Dank für den Tip - es wird etwas dauern, bis ich beides ausprobiert hab.
Werde dann hier nochmals Stellung dazu nehmen.

Gruß

nickname

P.S. Ich sehe spontan bei der ersten Lösung das Problem, dass ich den Shop als Content plazieren möchte, also durchaus nicht über die komplette Seite. Das kommt daher, dass die Anwender der Seite später im Backend Übergabeparameter festlegen können, die dann die anzuzeigenden Artikel im Shop bestimmen.

nickname ·

Es funktioniert - unter Verwendung der Funktion ob_start

function main($content,$conf) {
ob_start(); // Pufferung der Ausgabe aktivieren

include"http://127.0.0.1/quickstart/fileadmin/shop/index.php");
// Anfrage stellen, die direkt interpretiert wird

$par_ret = ob_get_contents();
// Puffer-Inhalt der Variablen zuweisen

ob_end_clean();
//Pufferung deaktivieren - Wichtig!!!

return $par_ret;
// Rückgabe an Typo, als Content-Element!
}

Vielen Dank nochmals an
maxhb !!!

maxhb ·

Hi!
Hatte dich ein wenig falsch verstanden, es geht noch kürzer:

function main($content,$conf) {
  $content = file ("http://127.0.0.1/quickstart/fileadmin/shop/index.php"); 
  return $content;
}

CU
maxhb