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
Moin spL,
Du solltest TemplaVoila auf die aktuellste Version (1.3.6) updaten und anschliessend in der php.ini "register_long_arrays=On" setzen.
Weitere Informationen hier:
http://bugs.typo3.org/view.php?id=8321 und
http://bugs.typo3.org/view.php?id=8338
Gruß, Daniz
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
Ä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
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
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
Hast Du mal Deine Extension Liste upgedatet?
Extension-Manager->Import->Retrieve-Upadte
Gruß, Daniz
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
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!
eigentlich sollte es, egal auf welcher plattform, immer gleich aussehen!
aber jetzt mal wieder back 2 topic:
Bei den neueren Templavoila versionen brauch man die zusatzextension nichtmehr! Man kann das jetzt direkt über die Datenstruktur machen.
Mehr infos gibts hier:
http://www.typo3-media.com/blog/article/templavoila-advanced-use-of-belayout.html
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
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());