Hallo zusammen
Mir ist ein Fehler in der Doku aufgefallen. In der Version 4.9.8 stimmt die Beschreibung der Funktion: loadByArticleAndLanguageId nicht.
Anscheinend wurde die Methode _getArticleContent als deprecated markiert. Somit können auch nicht mehr alle Contents eines Artikel geladen werden.
Dies ist in der Doku nicht nachgeführt, dort ist immernoch die alte Version hinterlegt.
Somit müssen bei einem Update auf die Version 4.9.8 sämtliche Module welche die auf die cApiCategoryLanguage zugreifen umgeschrieben werden.
Alt:
$art = new cApiArticleLanguage();
$art->loadByArticleAndLanguageId($idart, $lang,TRUE); // 3 Parameter für das laden aller Contents des Artikels
Neu:
$art = new cApiArticleLanguage();
$art->loadByArticleAndLanguageId($idart, $lang);
//Danach die Contents mit folgendem Aufruf auslesen:
$art->getContent();
Achtung: auch hier stimmt die Doku nicht. Es reicht wenn man die Funktion getContent() aufruft.
Gibt man einen Parameter (Content-Typ) gem. Doku mit, erhält man nicht wie beschrieben alle Contents dieses Typs, sonder immer alle Contents.
Grüsse aus der Schweiz
cApiCategoryLanguage deprecated
-
- Beiträge: 22
- Registriert: Di 5. Aug 2014, 07:13
- Kontaktdaten:
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: cApiCategoryLanguage deprecated
Vielen Dank für den Hinweis. Offensichtlich ist bei der API-Generierung in dem Punkt etwas schief gelaufen. Wir nehmen uns dem an und aktualisieren das dann entsprechend! Beste Grüße zurück in die Schweiz
Frederic Schneider
Entwickler bei der four for business AG
Entwickler bei der four for business AG
-
- Beiträge: 87
- Registriert: Do 26. Apr 2012, 23:02
- Kontaktdaten:
Re: cApiCategoryLanguage deprecated
Guten morgen!
Das Verhalten der Klasse cApiArticleLanguage wurde zwischen den Versionen 4.9.7 und 4.9.8 teilweise angepaßt.
- DIe geschützte Methode _getArticleContent wurde in _loadArticleContent umbenannt. Das ist folgerichtig, da es sich hier nicht um einen Getter handelt, also eine Methode die etwas zurückgibt. Die Methode _getArticleContent gibt es aber dennoch (für den Fall, daß jemand von der Klasse cApiArticleLanguage abgeleitet hat, was sehr unwahrscheinlich ist) in Form eines Wrappers und wurde als deprecated markiert.
- Das sofortige Auslesen des Contents in der Methode loadByArticleAndLanguageId wurde entfernt, ebenfalls der dritte Parameter, der dies bewirkte. Hier wurde allerdings die Doku nicht korrekt angepaßt. Dort steht immer noch etwas von "Flag to fetch content". Dies muß noch entfernt werden. Die Änderung wirkt sich aber nicht wirklich aus, da die Methode getContent immer prüft, ob der Content bereits ausgelesen wurde. Wenn nicht wird dies beim ersten Zugriff nachgeholt. Es ist also nicht notwendig bestehenden Code anzupassen.
- Das Fehlverhalten von getContent in Bezug auf das Auslesen des Contents eines Typen kann ich (ungetestet) nicht nachvollziehen. Hier finde ich im Code folgendes Fragment, das korrekt sein sollte: if (is_null($id)) {return $this->content[$type];}
Das Verhalten der Klasse cApiArticleLanguage wurde zwischen den Versionen 4.9.7 und 4.9.8 teilweise angepaßt.
- DIe geschützte Methode _getArticleContent wurde in _loadArticleContent umbenannt. Das ist folgerichtig, da es sich hier nicht um einen Getter handelt, also eine Methode die etwas zurückgibt. Die Methode _getArticleContent gibt es aber dennoch (für den Fall, daß jemand von der Klasse cApiArticleLanguage abgeleitet hat, was sehr unwahrscheinlich ist) in Form eines Wrappers und wurde als deprecated markiert.
- Das sofortige Auslesen des Contents in der Methode loadByArticleAndLanguageId wurde entfernt, ebenfalls der dritte Parameter, der dies bewirkte. Hier wurde allerdings die Doku nicht korrekt angepaßt. Dort steht immer noch etwas von "Flag to fetch content". Dies muß noch entfernt werden. Die Änderung wirkt sich aber nicht wirklich aus, da die Methode getContent immer prüft, ob der Content bereits ausgelesen wurde. Wenn nicht wird dies beim ersten Zugriff nachgeholt. Es ist also nicht notwendig bestehenden Code anzupassen.
- Das Fehlverhalten von getContent in Bezug auf das Auslesen des Contents eines Typen kann ich (ungetestet) nicht nachvollziehen. Hier finde ich im Code folgendes Fragment, das korrekt sein sollte: if (is_null($id)) {return $this->content[$type];}
Re: cApiCategoryLanguage deprecated
Das war jetzt aber anschaulich erklärt
</ironie>
</ironie>
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
-
- Beiträge: 87
- Registriert: Do 26. Apr 2012, 23:02
- Kontaktdaten:
Re: cApiCategoryLanguage deprecated
Mit anderen Worten: Paßt scho', nur eine Zeile aus 'nem Kommentar sollte entfernt werden. Besser?