TYPO3-Testaccount
Testen Sie die aktuelle TYPO3 Version 4.4.2 kostenlos und unverbindlich für einen Monat!

jetzt testen

Schulungen

jetzt buchen

Extensions Update für 4.3 !


Autor Nachricht
Verfasst am: 09. 10. 2008 [15:13]
steffenk
Moderator
Themenersteller
Dabei seit: 22.09.2005
Beiträge: 4839
Hi,

many extensions using substituteMarkerArrayCached will fail in 4.3 as the function changed. now all arguments has to be an array, otherwise you get following error:

Catchable fatal error: Argument [2,3,4] passed to tslib_cObj::substituteMarkerArrayCached() must be an array, null given

Best is to initialize the vars with empty array.
------------------------------------------------------------------------------

das ist der Text den ich in der dev-Liste gepostet habe, also einfach mal eigene Exts darauf überprüfen.

mm_forum hat das Problem auch, babs aber im Bugtracker eingetragen.

vg Steffen

ProfilWWW
Verfasst am: 09. 10. 2008 [15:21]
steffenk
Moderator
Themenersteller
Dabei seit: 22.09.2005
Beiträge: 4839
kleine Ergänzung:

die Funktion hat ja 4 Parameter:

tslib_cObj::substituteMarkerArrayCached($template, $markerArray, $subpartArray, $linkpartArray)

Man kann Parameter 3 und 4 auch weglassen, wenn man die nicht benötigt, man darf nur nicht eine uninitialisierte Variable (NULL) übergeben, daher empfiehlt sich einfach am Anfang der Funktion ein

PHP
$markerArray = $subpartArray = $linkpartArray = array();


man kann natürlich auch casten:

PHP
tslib_cObj::substituteMarkerArrayCached($template, (array) $markerArray, (array) $subpartArray, (array) $linkpartArray)


ich halte aber ersteres für besser.

ProfilWWW
Verfasst am: 09. 10. 2008 [15:29]
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8534
Alte Funktion:
PHP
function substituteMarkerArrayCached($content,$markContentArray=array(),$subpartContentArray=array(),$wrappedSubpartContentArray=array())       {
...


Wie sieht die neue dann aus?

ProfilWWW
Verfasst am: 09. 10. 2008 [15:35]
steffenk
Moderator
Themenersteller
Dabei seit: 22.09.2005
Beiträge: 4839
so:

PHP
public function substituteMarkerArrayCached($content, array $markContentArray = array(), array $subpartContentArray = array(), $wrappedSubpartContentArray = array()) {


Die Fehlermeldung kommt aber von PHP

ProfilWWW
Verfasst am: 09. 10. 2008 [15:57]
steffenk
Moderator
Themenersteller
Dabei seit: 22.09.2005
Beiträge: 4839
es zeichnet sich ab das das wohl doch noch geändert wird zu

PHP
public function substituteMarkerArrayCached($content, array $markContentArray = NULL, array $subpartContentArray = NULL, array $wrappedSubpartContentArray = NULL) {


so das die Fehlermeldung nicht mehr kommt. Ich werde es berichten wenns soweit ist.

Es schadet trotzdem nicht die devs auf die richtige Anwendung der API zu sensibilisieren icon_smile.gif

ProfilWWW
Verfasst am: 09. 10. 2008 [22:46]
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8534
steffenk schrieb:

so das die Fehlermeldung nicht mehr kommt. Ich werde es berichten wenns soweit ist.


Ist auch sinnfrei so wie ich das sehe...

ProfilWWW