Doppelte Alias in Kat. erzeugen AMR-Fehler

Gesperrt
funomat
Beiträge: 345
Registriert: Do 26. Feb 2004, 22:13
Wohnort: Neuss
Kontaktdaten:

Doppelte Alias in Kat. erzeugen AMR-Fehler

Beitrag von funomat » Mi 19. Okt 2011, 12:27

Ändert man von Hand einen Alias und speichert diesen ab, kommt es zu folgendem Fehler, wenn es bereits einen gleich lautenden Alias gibt:
Fatal error: Call to a member function get() on a non-object in /homepages/31/d36329574/htdocs/CMS/contenido/plugins/mod_rewrite/includes/functions.mod_rewrite.php on line 122
AMR-Version 0.5.5

Die Contenido-Installation war ursprünglich eine 4.8.12 mit AMR 0.5.5 und wurde auf 4.8.15 geupdated. An der AMR-Installation wurden keine Veränderungen vorgenommen.

Server Betriebssystem: Apache
PHP Datenbankerweiterung: mysql
Datenbankserver-Version: 5.0.91-log
Installierte PHP-Version: 5.2.17
safe_mode: Deaktiviert
magic_quotes_gpc: Aktiviert
magic_quotes_runtime: Deaktiviert
gpc_order:
memory_limit: 90M
max_execution_time: 50000
Deaktivierte Funktionen: nichts deaktiviert
Gettext Erweiterung: geladen
sql.safe_mode: Deaktiviert
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)

Oldperl
Beiträge: 4254
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Doppelte Alias in Kat. erzeugen AMR-Fehler

Beitrag von Oldperl » Mi 19. Okt 2011, 13:05

:!: Verschoben nach Plugins.

Kein direkter Bug von Contenido sondern ein Bug des AMR-Plugins, daher Titel geändert und verschoben.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

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

Re: Doppelte Alias in Kat. erzeugen AMR-Fehler

Beitrag von xmurrix » Mi 19. Okt 2011, 22:27

Hallo funomat,

das Plugin lässt es nicht zu, dass mehrere Kategorien/Artikel mit gleichen Aliasen vorkommen. Pro Sprache kann es nur einen eindeutigen Kategorie- Artikelalias geben. Will man einen Alias definieren, den es schon gibt, wird diesem Alias immer die ID der Kategorie/des Artikels angehängt, so dass es immer eindeutig ist.

Habe das Verhalten gerade sicherheitshalber mit einer frischen CONTENIDO-Installation (Version 4.8.15 und AMR 0.5.5) getestet und konnte den Fehler nicht reproduzieren.

Warum auch immer, wird in deinem Fall die Kategorie der aktuellen Sprache (Tabelle con_cat_lang) nicht gefunden, was aber nicht passieren darf.

Gab es in der CONTENIDO-Installation irgendwelche Änderungen an der Klasse cApiCategoryLanguageCollection() oder an den Generic-DB Klassen?

Du kannst es einfach testen, indem du den betroffenen Code-Bereich separat z. B. in einem Modul ausführts.

Code: Alles auswählen

cInclude("classes", "contenido/class.categorylanguage.php");

$idcat = 123; // id der betroffenen kategoie
$lang = 1; // id der betroffenen sprache

$str = 'idcat=' . $idcat . ' AND idlang=' . $lang;
$oCatLangColl = new cApiCategoryLanguageCollection($str);
$oCatLang = $oCatLangColl->next();
var_dump($oCatLang);

Die Variable $oCatLang sollte ein Objekt sein und den entsprechenden Datensatz aus der Tabelle con_cat_lang enthalten. Wenn nicht, dann gibt es ein Problem...

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.

Gesperrt