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 »

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 »

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 »

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: 1951
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Hat sich bedankt: 14 Mal
Kontaktdaten:

Re: cApiCategoryLanguage deprecated

Beitrag von Faar »

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 »

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