Zum Inhalt springen

php einbinden

Erstellt am 9. November 2011 · 8 Antworten · letzte Antwort am 12. November 2011

Tags: Frage

tobli ·

HAllo zusammen,

da ich auf typo 4.6 umgestiegen bin, funktioniert die extention bei welchem ich einfach meinen phpcode eingefügt hatte nicht mehr. hinzu kam noch, dass die extention wohl sicherheitslücken hat.

wie kann ich mehrere verschiedene php dateien in einzelne seitenelement einfügen?

Gruß Tobli

Chrissli ·

Hallo Tobli,

funktioniert das mit (z.B.)

page.20 = COA
page.20.1 = PHP_SCRIPT_INT
page.20.1.file = fileadmin/deinscript.php
page.20.2 = PHP_SCRIPT_INT
page.20.2.file = fileadmin/deinscript2.php
...

nicht mehr?
Evtl. musst du deine Scripte umsetzen, damit sie
per USER_INT eingebunden werden können.

tobli ·

Hallo Chrissli,

ertmal danke für deine Antwort.

und wie kommt es dann in meinem Inhaltselement genau an der Stelle wo ich es haben möchte?

Gruß Tobli

igorshmigor ·

Die PHP-als-Contentelement Extension gibt es schon länger nicht mehr.

Als Workaround kannst Du auch diese Extension nehmen:
http://typo3.org/extensions/repository/view/tscobj/current/

Damit kannst Du TypoScript-Objekte als Content Element verwenden.

Du definierst also in deinem TypoScript-Setup beispielsweise

lib.myphpobject=USER
lib.myphpobject.userFunc= ...

Dann kannst Du als Inhaltselement auf einer beliebigen Seite den neuen Inhaltstyp "TypoScript Object" verwenden und da kannst Du dann lib.myphpobject auswählen.

tobli ·
igorshmigor schrieb

Als Workaround kannst Du auch diese Extension nehmen:
http://typo3.org/extensions/repository/view/tscobj/current/

Hallo,

dies habe ich nun installiert. Allerdings bekomme ich nun eine Fehlermeldung beim Anlegen eines INhaltelementes, eine Seite läßt sich bsp. im Backend aufgrund der Fehlermeldung auch nicht mehr aufrufen.

Oops, an error occurred!

PHP Catchable Fatal Error: Argument 2 passed to t3lib_div::array_merge_recursive_overrule() must be an array, null given, called in /var/www/virtual/.../htdocs/typo3/sysext/lang/lang.php on line 554 and defined in /var/www/virtual/.../htdocs/t3lib/class.t3lib_div.php line 1867

liegt wohl an der Extention, da dies erst aufgetaucht ist, nachdem ich diese installiert habe. Irgendeine Idee woran dies liegt?

Wenn wir es wieder zum Laufen bekommen, könnte man das TS so machen?

lib.meine_php-datei1 = PHP_SCRIPT
lib.meine_php-datei1{
	file = fileadmin/php_scripte/datei1.php
}
lib.meine_php-datei2 = PHP_SCRIPT
lib.meine_php-datei2{
	file = fileadmin/php_scripte/datei1.php
}
lib.meine_php-datei3 = PHP_SCRIPT
lib.meine_php-datei3{
	file = fileadmin/php_scripte/datei1.php
}

Gruß Tobi

Chrissli ·

Hallo Tobli,

ich gehe mal davon aus, dass es für die Extension eine
Anleitung gibt, du diese gelesen und befolgt hast.

Hast du mal geprüft ob du unter "Includes" wo auch die
statischen Templates stehen das Extension hinzugefügt hast?
Viele brauchen das ja, vielleicht auch diese.

Zu deiner Lösungsidee:
Normal sollte das funktionieren.
Wenn die Skripte nicht gecached werden sollen, solltest du
statt PHP_SCRIPT
PHP_SCRIPT_INT verwenden.

Wenn es sich immer um das selbe Skript handelt ( und nicht einfach in deinem
Beispiel vergessen wurde namentlich anzupassen ) kannst du das
Objekt auch kopieren.

lib.meine_php-datei1 = PHP_SCRIPT
lib.meine_php-datei1{
	file = fileadmin/php_scripte/datei1.php
}
lib.meine_php-datei2 < lib.meine_php-datei1
lib.meine_php-datei3 < lib.meine_php-datei1
tobli ·

Hallo Chrissli,

die Extension Manuals habe ich durchgeschaut, allerdings steht als Vorbereitung nichts drin.
Die Extention habe ich installiert.

Chrissli schrieb

Hast du mal geprüft ob du unter "Includes" wo auch die
statischen Templates stehen das Extension hinzugefügt hast?
Viele brauchen das ja, vielleicht auch diese.

"Includes", was verstehst du unter dem Begriff? Und was sollte da eingeügt werden?

Sorry wenn ich mich so doof anstelle.

Gruß Tobli

igorshmigor ·

Er meinte, im Modul Template auf "Vollständigen Template-Datensatz bearbeiten" klicken, dann im Reiter "Enthält" unter "Statische Templates einschließen (aus Erweiterungen):" das statische Template der Extension auswählen. Oft wird dieser Schritt bei vielen Extensions vergessen.
Aber das muss man bei dieser Extension nicht machen. Da brauchst Du kein statisches Template einschließen.

Ich habe keine Ahnung, warum Du diese Fehlermeldung erhältst. Bei mir erscheint keine Fehlermeldung. An sich kann man bei dieser Extension nicht viel falsch machen.

tobli ·
igorshmigor schrieb

Er meinte, im Modul Template auf "Vollständigen Template-Datensatz bearbeiten" klicken, dann im Reiter "Enthält" unter "Statische Templates einschließen (aus Erweiterungen):" das statische Template der Extension auswählen. Oft wird dieser Schritt bei vielen Extensions vergessen.
Aber das muss man bei dieser Extension nicht machen. Da brauchst Du kein statisches Template einschließen.

Ist mir auch aufgefallen, da es nichts zum Einbinden gibt.

igorshmigor schrieb

Ich habe keine Ahnung, warum Du diese Fehlermeldung erhältst. Bei mir erscheint keine Fehlermeldung. An sich kann man bei dieser Extension nicht viel falsch machen.

Ich auch nicht 😉 Allerdings komme ich so nicht weiter 🙁