cApiCategoryLanguage deprecated

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
chnussbaumer
Beiträge: 22
Registriert: Di 5. Aug 2014, 07:13
Kontaktdaten:

cApiCategoryLanguage deprecated

Beitrag von chnussbaumer » Do 29. Okt 2015, 09:24

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

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: cApiCategoryLanguage deprecated

Beitrag von frederic.schneider_4fb » Do 29. Okt 2015, 09:34

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

marcus.gnass_4fb
Beiträge: 87
Registriert: Do 26. Apr 2012, 23:02
Kontaktdaten:

Re: cApiCategoryLanguage deprecated

Beitrag von marcus.gnass_4fb » Sa 31. Okt 2015, 10:00

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];}

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: cApiCategoryLanguage deprecated

Beitrag von Faar » Sa 31. Okt 2015, 10:43

Das war jetzt aber anschaulich erklärt :lol:
</ironie>
:roll:
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

marcus.gnass_4fb
Beiträge: 87
Registriert: Do 26. Apr 2012, 23:02
Kontaktdaten:

Re: cApiCategoryLanguage deprecated

Beitrag von marcus.gnass_4fb » Sa 31. Okt 2015, 13:06

Mit anderen Worten: Paßt scho', nur eine Zeile aus 'nem Kommentar sollte entfernt werden. Besser?

Antworten