Seite 1 von 1

Fehler nach Sprachsynchronisation

Verfasst: Mo 14. Dez 2009, 11:03
von sandra07
Hallo zusammen

Ich habe einen Mandanten mit 3 Sprachen (Contenido 4.8.12, AMR inst. aber zurzeit noch deaktiviert).

Wenn ich nun auf Sprache "english" (2) wechsle und die Artikel der Hauptnavigation synchronisiere, werden die Kategorien und die Artikel richtig erstellt (offline, kein Startartikel). Sobald ich nun die Einzelnen Artikel in die Sprache mit dem blauen Button rechts kopiere habe ich folgende Fehlermeldung im Backend wie auch im Frontend. Der Fehler tritt auch in der Deutschen Sprache auf, die Website kann nicht mehr angezeigt werden.

[14-Dec-2009 09:16:46] PHP Fatal error: Uncaught exception 'InvalidArgumentException' with message '$param[lang] must be set!' in /home3/www/contenido/classes/Url/Contenido_Url.class.php:137
Stack trace:
#0 /home3/www/cms/front_content.php(983) : eval()'d code(85): Contenido_Url->build(Array)
#1 /home3/www/cms/front_content.php(983): eval()
#2 {main}
thrown in /home3/www/contenido/classes/Url/Contenido_Url.class.php on line 137


Habe ich etwas vergessen? Wenn mir jemand kurz auf die Sprünge helfen könnte wäre ich super dankbar!

Re: Fehler nach Sprachsynchronisation

Verfasst: Mo 14. Dez 2009, 12:34
von xmurrix
Hallo sandra07,

irgendwo in einem Modul wird die Funktion Contenido_Url->build() nicht mit richtigen Parametern aufgerufen.

Contenido_Url->build() braucht ein Array, das mindestens die Id der Kategorie oder des Artikels hat und zusätzlich die Id der Sprache.

Aktivieren die Devugausgabe in der "contenido/includes/config.misc.php" indem du die Konfiguration $cfg["debug"]["codeoutput"] = false; auf

Code: Alles auswählen

$cfg["debug"]["codeoutput"] = true;
umstellst.

Dann wird in einer Textarea der Code der Seite ausgegeben. Kopiere den Code in einen Editor und in Zeile 983 - da sollte die Stelle sein glaube ich - ist de falsche Aufruf.
Schau mal dort nach, welche Parameter Contenido_Url->build() dort bekommt.
Es sollte ungefähr so sein:

Code: Alles auswählen

$params = array();
$params['idcat'] = $myidcat; // oder $params['idart'] = $myidart;
$params['lang'] = $lang; // die id der sprache muss auch übergeben werden...
$url = Contenido_Url::getInstance()->build($params);
Falls es nicht die Zeile 983 ist, einfach mal im Code nach Aufruf von Contenido_Url->build() suchen und dann den übergebenen Parameter überprüfen. Du erkennts dann auch so das Modul, in dem der Fehler ausgegeben wird.

Gruß
xmurrix

Re: Fehler nach Sprachsynchronisation

Verfasst: Mo 14. Dez 2009, 14:49
von sandra07
Hallo xmurrix

Vielen Dank für Deinen Tipp!

Das Problem liegt am "Flaggen-Mudul" zur Auswahl der Sprachen (http://forum.contenido.org/viewtopic.ph ... 4&p=132677)!

Wenn ich das Modul entferne sind auch die Fehler weg.... Super, danke!!!!

Re: Fehler nach Sprachsynchronisation

Verfasst: Do 6. Mai 2010, 20:04
von pauls
xmurrix hat geschrieben:
Dann wird in einer Textarea der Code der Seite ausgegeben. Kopiere den Code in einen Editor und in Zeile 983 ...

Falls es nicht die Zeile 983 ist, einfach mal im Code nach Aufruf von Contenido_Url->build() suchen und dann den übergebenen Parameter überprüfen. Du erkennts dann auch so das Modul, in dem der Fehler ausgegeben wird.

Gruß
xmurrix
Ich habe das gleiche Problem, aber es gibt kein Flagge-Modul bei mir. Ich bekomme keine Ausgabe nach der Änderung von contenido/includes/config.misc.php. Was ist genau die Textarea, wo ist das? Zeile 983 bezieht sich auf welche Datei? Etschuldigung, ich bin nicht so erfahren mit contenido. Danke.

Re: Fehler nach Sprachsynchronisation

Verfasst: Do 6. Mai 2010, 21:34
von xmurrix
pauls hat geschrieben: Ich habe das gleiche Problem, aber es gibt kein Flagge-Modul bei mir. Ich bekomme keine Ausgabe nach der Änderung von contenido/includes/config.misc.php. Was ist genau die Textarea, wo ist das? Zeile 983 bezieht sich auf welche Datei? Etschuldigung, ich bin nicht so erfahren mit contenido. Danke.
Zu deinem Problem habe ich soeben ein par Hinweise (http://forum.contenido.org/viewtopic.ph ... 88#p144388) gegeben, vielleicht hilft das.

Gruß
xmurrix