Zum Inhalt springen

$content - mehrere Inhaltselemente?

Erstellt am 19. November 2007 · 7 Antworten · letzte Antwort am 2. Dezember 2007

Tags: PHP, Frage

Gerfried ·

Hallo Spezialisten!

ich bin noch nicht so weit Extensions zu schreiben, aber ich habe ein PHP Script das ich in Typo3 einbinde.

in etwa so...

#die php Variable $content wird an der Stelle page.10 eingefügt
temp.MEINPHP = PHP_SCRIPT
temp.MEINPHP.file = fileadmin/scripts/meinphp.php
page.10 < temp.MEINPHP

Kann ich auch mehrere Inhaltselemente im PHP file definieren?
Also z.B.
$content['inhalt1']="test1";
$content['inhalt2']="test2";
$content['inhalt3']="test3";

wenn das so stimmt, wie binde ich das dann im Typoscript ein?

danke,
Gerfried

einpraegsam.​net ·

Hallo,

enteder:

page.10 = PHP_SCRIPT
page.10.file = fileadmin/scripts/meinphp1.php
page.20 = PHP_SCRIPT
page.20.file = fileadmin/scripts/meinphp2.php
page.30 = PHP_SCRIPT
page.30.file = fileadmin/scripts/meinphp3.php

oder:

$content = 'blabla1';
$content .= 'blabla2';
$content .= 'blabla3';
Gerfried ·

Hallo wunschtacho, danke für die rasche Antwort!

Dann muß ich wohl einzelne PHP Dateien erstellen, weil die Inhaltelemente an verschiedenen Positionen ausgegeben werden.
Das ist aber recht enttäuschend. Ich war mir sicher, da gibt's etwas.

Danke und schönen Tag,
Gerfried

sst ·

Hallo,

ich habe diesbezüglich ein Problem:

Ich muss an 2 Stellen im Template die Ausgabe eines PHP-Scriptes einbinden.
Soweit kein Problem - jedoch darf das PHP-Script hierfür nur einmal aufgerufen werden, da die damit verbundene Datenbankanfrage nur einmal je Seitenaufruf durchgeführt werden kann.

Wenn ich das ganze über 2 PHP-Files mache, kann ich nicht auf die im ersten Script gesetzten Variablen und Arrays zugreifen, die ich im zweiten PHP-Script benötige.

Gibt es irgendeine Möglichkeit ein Array an ein weiteres Script weiterzugeben?

temp.phpScript1 = PHP_SCRIPT_INT
temp.phpScript1 {
    file = fileadmin/test.php
}

temp.phpScript2 = PHP_SCRIPT_INT
temp.phpScript2 {
    file = fileadmin/test2.php
}

tmp.testphp = COA
tmp.testphp.10 < temp.phpScript1
tmp.testphp.20 < temp.phpScript2

Also, dass quasi im script test2.php auf ein im Script test.php gesetztes Array zugegriffen wird.

Oder kann ich irgendwie den Output des Scriptes auf 2 TS-Objekte übertragen?

Stehe da richtig auf dem Schlauch!

Gruß
Sebastian

Gerfried ·

Eine Möglichkeit wäre evtl. im ersten Script eine Session Variable zu setzen die Du im 2. Script abfrägst und gleich wieder löscht. In dieser Sessionvariablen kannst Du dann die Ergebnisse aus Script #1 speichern.
Mieser Workaround - wirklich sehr schade das Typo3 kein Array aus einer PHP Datei verarbeiten kann :-(

lg,
Gerfried

sst ·

Die Idee mit der Session-Variable ist gar nicht so dumm! Nur halt wirklich nicht elegant... aber wenns hilft.

Sonst habe ich mir schon überlegt den Inhalt zurückzugeben und einen Trenner einzubauen und den wieder mit TS dann rausfiltern.

Mal schauen, aber die Session-Variable klingt schneller realisierbar.

sst ·

Kurz zur Info:

Mit der Session-Variable funktioniert das ganze - ist zwar nicht so die feine Variante, aber es geht!