Zum Inhalt springen

Typo3 4.2.0 und templavoilalayout2

Erstellt am 7. Mai 2008 · 11 Antworten · letzte Antwort am 15. März 2009

Tags: Frage

spL ·

Hallo zusammen,

ich habe heute mal ein Projekt auf Typo3 4.2.0 geupdated. Bisher scheinen alle Extensions noch zu laufen.
Nur die Extension 'templavoilalayout2' zur verbesserten Ansicht im Backend will nicht mehr richtig...

Möchte ich einen Datensatz hinzufügen bekomme ich folgende Fehlermeldung:

Catchable fatal error: Argument 2 passed to t3lib_div::implodeArrayForUrl() must be an array, null given, called in /htdocs/typo3conf/ext/me_templavoilalayout2/ux_db_new_content_el.php on line 47 and defined in /typo3_src-4.2.0/t3lib/class.t3lib_div.php on line 1635

Hat ausser mir vielleicht noch jemand dieses Problem oder kennt gar eine mögliche Lösung dafür?

Grüße,
spL

spL ·

Hi und danke für die Hilfestellung.

Hat leider nicht funktioniert:

- Typo v. 4.2.0
- templavoila v. 1.3.6
- me_templavoilalayout2 v. 0.5.0
- php.ini -> "register_long_arrays=On"

Catchable fatal error: Argument 2 passed to t3lib_div::implodeArrayForUrl() must be an array, null given, called in */htdocs/typo3conf/ext/me_templavoilalayout2/ux_db_new_content_el.php on line 47 and defined in */typo3_src-4.2.0/t3lib/class.t3lib_div.php on line 1635

daniz78 ·

Ähm natürlich wird ein update von TemplaVoila den Fehler nicht beheben wenn er in der Extension templavoilalayout2 auftritt! Sorry hatte ich überlesen!

Die Extension ist ja ganz nett, wenn Sie Fehler verursacht, würde ich sie aber erstmal deinstallieren und das ganze per XML lösen!

#59423

Gruß, Daniz

greschor ·

also auf die Extension zu verzichten ist nicht ganz so toll als Lösung, deswegen nun eine richtige Lösung 8-)

an die besagte Stelle muss (also: typo3conf/ext/me_templavoilalayout2/ux_db_new_content_el.php on line 47 ) - an die Stelle des vorherigen codes...

$defVals = t3lib_div::implodeArrayForUrl('defVals', is_array($this->defVals) ? $this->defVals : array());

das sorgt dafür, dass wenn $this->defVal ein Array ist, dieses übergeben wird, ansonsten ein leeres Array,
- der Fehler kam, weil ein leerer String übergeben wurde, das wird nun somit verhindert

grüße
gregor

tholie ·

Also ich habe templavoilalayout2 nicht bekomme aber einen ähnlichen fehler. naja ok eigentlich isses derselbe fehler nur in einer anderen datei.

Bei mir taucht der fehler in typo3conf/ext/templavoila/mod1/db_new_content_el.php auf. Fehlerbehebung wie greschor schon geschrieben hat. Danke übrigens an dieser stelle greschor.

Achja typo3 4.2
TemplaVoila 1.1.1

Mir auch unbegreiflich warum ich TemplaVoila in version 1.1.1 habe, es aber bereits version 1.3.6 gibt. Frisch installiertes Typo3 4.2 und vor 2 Tagen erst TV nochmal neu installiert. Waru bekomme ich dann nicht gleich Version 1.3.6 über den EM eingespielt? 🙁 und wie kann ich TV jetzt auf Version 1.3.6 bringen?

Grüße Thoral

daniz78 ·

Hast Du mal Deine Extension Liste upgedatet?

Extension-Manager->Import->Retrieve-Upadte

Gruß, Daniz

tholie ·

ja habe ich.... aber erst als ich den hacken bei "show obsolete" gesetzt habe, wurde TV geupdatet. Soll heißen jetzt hab ich auch TV 1.3.6. naja mal schauen was es bringen wird und einige ungereimtheiten werden verschwinden.

Was mich immer wieder verwundert: Ich arbeite hier mit 3 Typos. Alle 3 haben denselben Patchstand und die selben Extensions. Der einzige Unterschied bei den Installationen ist das zugrunde liegende Betriebssystem. WindowsXP, Ubuntu und Mac. Und irgendwas ist immer anders. Nicht nur speziell bei TV sondern halt alles zusammengesehen. Das kann doch irgendwie nich sein oder? Ok beim Mac kanns ja sein das dort keine gdlib installiert ist aber ansonsten sind sogar die php, MySQL und Apache Versionen identisch. Irgendwie macht mir das angst wenn dann das Projekt auf den live server gehen soll 🙂.

Aber ich bastel mich da grad durch und habe auch gehörigen Spass an T3. Und das ist sowieso die Hauptsache.

Dieser Beitrag braucht auch nicht weiter beachtet zu werden sondern spiegelt nur meine momentanen Gedanken wieder 🙂

Viele Grüße
Thoralf

daniz78 ·

Bin jetzt kein Spezi von Betriebssystemen, doch hat ne Linux-Distribution z.B. ein anderes Dateisystem als Windows. Auch die gleiche Version von PHP, Apache, etc. wird von dem jeweiligen BS anders interpretiert bzw. wird es wahrscheinlich nicht 100% gleiche Funktionen/Methoden geben, so dass viele Algorithmen unterschiedlich implementiert sind!

Korrigiert mich wenn ich falsch liege!

greschor ·

Jain,

das Problem der TV-internen Lösung, du kannst nur ein solche Tempalte pro Data Structure vornehmen, wenn du nun aber mehrere Layouts für eine DS hast, stehst du mit der Lösung im Regen, ich bevorzuge daher immer noch me_templavoilalayout2, aber lieber würde ich das in TV direkt umgesetzt sehen
und zwar per Template Object und eben nicht in der Data Structure….

Grüße
Greschor

matin ·

falls es mal wer braucht - in der datei ux_db_new_content_el.php zeile 47 austauschen:

#alt:
$defVals = t3lib_div::implodeArrayForUrl('defVals', $this->defVals);
#neu
$defVals = t3lib_div::implodeArrayForUrl('defVals', is_array($this->defVals) ? $this->defVals : array());