Upgrade 4.8 > 4.10 - Content Allocation List funktioniert nicht mehr

Fragen zur Installation von CONTENIDO 4.10? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
matt.loker
Beiträge: 203
Registriert: Mo 7. Mai 2007, 09:05
Kontaktdaten:

Upgrade 4.8 > 4.10 - Content Allocation List funktioniert nicht mehr

Beitrag von matt.loker » Fr 3. Jan 2020, 21:00

Hallo zusammen,
ich habe mein Contenido von 4.8 auf 4.10 aktualisiert. Ich verwende auch Content Allocation um Inhalte aus verschiedenen Artikeln als Liste anzuzeigen. Nach dem aktualisieren funktioniert das Modul nicht mehr. Den Fehler habe ich ein grenze können. Für die Ausgabe der Liste verwende ich eine Klasse die als Datei unter contenido/classes liegt. Im Modul wird diese Klasse so eingebunden.

Code: Alles auswählen

cInclude('classes', 'class.content_alloc_article.php');
Dies verursacht aber einen Fehler. Selbst wenn ich die Datei komplett leere, funktioniert es nicht. Muss ich die Datei in 4.10 anders includieren?

Vielen Dank für die Hilfe

Matt

bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: Upgrade 4.8 > 4.10 - Content Allocation List funktioniert nicht mehr

Beitrag von bodil » Sa 4. Jan 2020, 10:19

Hast du eine Fehlermeldung im Log dazu?

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Upgrade 4.8 > 4.10 - Content Allocation List funktioniert nicht mehr

Beitrag von xmurrix » Sa 4. Jan 2020, 15:27

Hallo matt.loker,
...Dies verursacht aber einen Fehler. Selbst wenn ich die Datei komplett leere, funktioniert es nicht. Muss ich die Datei in 4.10 anders includieren?...
Am Includieren liegt es bestimmt nicht, sofern die Datei unter contenido/classes vorhanden ist.
Eine leere Datei kann z. B. im Modul einen Fehler verursachen, wenn im Modulcode der Code von "class.content_alloc_article.php" verwendet wird, z. B. eine PHP-Klasse instanziiert wird.
Auch, wenn die Datei "class.content_alloc_article.php" einen Inhalt hat, so kann der Code darin nicht kompatibel mit CONTENIDO 4.9 sein. In CONTENIDO 4.9 wurden viele PHP-Klassen umbenannt.

Die genaue Fehlerursache wirst du vermutlich in der Errorlog (data/logs/errorlog.txt) finden.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

matt.loker
Beiträge: 203
Registriert: Mo 7. Mai 2007, 09:05
Kontaktdaten:

Re: Upgrade 4.8 > 4.10 - Content Allocation List funktioniert nicht mehr

Beitrag von matt.loker » Sa 4. Jan 2020, 17:05

Hallo zusammen,
nachdem ich weiter rum probiert habe konnte ich feststellen, dass in der class.content_alloc_article.php Contenido_Security:: statt cSecurity:: verwendet wurde. Das Problem wäre damit behoben. Ich habe aber noch eine anderes Problem.

In dem Modul war unter 4.8 folgende Klasse includiert

Code: Alles auswählen

cInclude('classes', 'class.article.php');
da in der class.content_alloc_article.php die function aufgerufen wird

Code: Alles auswählen

return new Article($idart, $this->client, $this->lang);
In 4.10 fehlt diese class.article.php unter contenido > classes. Welche Klasse muss ich stattdessen includieren? Es gibt ja sicher Ersatz für das fehlen der "class.article.php", oder?

Vielen Dank für die Hilfe.

Matt

matt.loker
Beiträge: 203
Registriert: Mo 7. Mai 2007, 09:05
Kontaktdaten:

Re: Upgrade 4.8 > 4.10 - Content Allocation List funktioniert nicht mehr

Beitrag von matt.loker » Sa 4. Jan 2020, 19:37

Hab es tatsächlich hinbekommen :D - über diesen Forenbeitrag
viewtopic.php?f=99&t=37594&p=171984&hil ... hp#p172009

Lösung war: In der class.content_alloc_article.php musste ich nur das

Code: Alles auswählen

return new Article($idart, $this->client, $this->lang);
ändern in

Code: Alles auswählen

return new cApiArticleLanguage($idart, $this->client, $this->lang);
und schon klappt es wieder - ganz ohne die class.article.php :)

Vielen Dank für eure Hilfe

Antworten