|
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
|
|
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
$markerArray = $subpartArray = $linkpartArray = array();
man kann natürlich auch casten:
tslib_cObj::substituteMarkerArrayCached($template, (array) $markerArray, (array) $subpartArray, (array) $linkpartArray)
ich halte aber ersteres für besser.
|
|
Verfasst am: 09. 10. 2008 [15:29]
|
|
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8849
|
Alte Funktion:
function substituteMarkerArrayCached($content,$markContentArray=array(),$subpartContentArray=array(),$wrappedSubpartContentArray=array()) {
...
Wie sieht die neue dann aus?
|
|
Verfasst am: 09. 10. 2008 [15:35]
|
|
steffenk
Moderator
Themenersteller
Dabei seit: 22.09.2005
Beiträge: 4839
|
so:
public function substituteMarkerArrayCached($content, array $markContentArray = array(), array $subpartContentArray = array(), $wrappedSubpartContentArray = array()) {
Die Fehlermeldung kommt aber von PHP
|
|
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
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
|
|
Verfasst am: 09. 10. 2008 [22:46]
|
|
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8849
|
steffenk schrieb:
so das die Fehlermeldung nicht mehr kommt. Ich werde es berichten wenns soweit ist.
Ist auch sinnfrei so wie ich das sehe...
|