Editor funktioniert wegen fehlendem Startartikel nicht
Editor funktioniert wegen fehlendem Startartikel nicht
Hallo,
Version: 4.9.0-rc1
wir hatten soeben das Problem, dass der Editor nicht funktionierte - daneben gab es auch die Fehlermeldung "Fatal error: Uncaught exception 'cBadMethodCallException' with message 'Can not load start article due to multiple loaded start articles.' in .../contenido/classes/class.article.collector.php:236 Stack trace: #0 .../contenido/includes/include.con_editcontent.php(138) : eval()'d code(2094): cArticleCollector->startArticle() #1 .../contenido/includes/include.con_editcontent.php(138): eval() #2 .../contenido/includes/frontend/include.front_content.php(448): include('/www/htdocs/w01...') #3 /.../contenido/external/backendedit/front_content.php(39): include('/www/htdocs/w01...') #4 {main} thrown in .../contenido/classes/class.article.collector.php on line 236"
Und siehe da, die zwei Dinge hängen auch wirklich zusammen. Wenn in einem Artikel in der darüber liegenden Kategorie kein Startartikel definiert ist - kommt die Fehlermeldung und funktioniert der Editor nicht mehr
Version: 4.9.0-rc1
wir hatten soeben das Problem, dass der Editor nicht funktionierte - daneben gab es auch die Fehlermeldung "Fatal error: Uncaught exception 'cBadMethodCallException' with message 'Can not load start article due to multiple loaded start articles.' in .../contenido/classes/class.article.collector.php:236 Stack trace: #0 .../contenido/includes/include.con_editcontent.php(138) : eval()'d code(2094): cArticleCollector->startArticle() #1 .../contenido/includes/include.con_editcontent.php(138): eval() #2 .../contenido/includes/frontend/include.front_content.php(448): include('/www/htdocs/w01...') #3 /.../contenido/external/backendedit/front_content.php(39): include('/www/htdocs/w01...') #4 {main} thrown in .../contenido/classes/class.article.collector.php on line 236"
Und siehe da, die zwei Dinge hängen auch wirklich zusammen. Wenn in einem Artikel in der darüber liegenden Kategorie kein Startartikel definiert ist - kommt die Fehlermeldung und funktioniert der Editor nicht mehr
-
- Beiträge: 472
- Registriert: Di 15. Apr 2008, 15:57
- Wohnort: Michelstadt
- Kontaktdaten:
Re: Editor funktioniert wegen fehlendem Startartikel nicht
- Wir haben eine Kategorie Test mit 1 Artikel
- Es gibt eine Unterkategorie Test 2 mit einem Artikel
. Keiner der Artikel ist Startartikel
- Bearbeitung geht fehlerfrei.
Hast du vielleicht weitere Informationen die uns zur Nachstellung des Bugs unterstützen?
Die aktuelle DEV Version gibt es hier: http://svn.dev.contenido.org/trunk/
- Es gibt eine Unterkategorie Test 2 mit einem Artikel
. Keiner der Artikel ist Startartikel
- Bearbeitung geht fehlerfrei.
Hast du vielleicht weitere Informationen die uns zur Nachstellung des Bugs unterstützen?
Die aktuelle DEV Version gibt es hier: http://svn.dev.contenido.org/trunk/
Re: Editor funktioniert wegen fehlendem Startartikel nicht
hm, ich habe es soeben nochmals überprüft - ich kann leider sonst keinen Zusammenhang sehen - fehlt in der übergeordneten Kateogrie der Startartikel, kommt es zu der Fehlermeldung und dann geht der Editor nicht. Soll ich was konkretes überprüfen?
Kann ich die aktuelle DEV-Version ohne Sorgen "drüberinstallieren"?
Kann ich die aktuelle DEV-Version ohne Sorgen "drüberinstallieren"?
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: Editor funktioniert wegen fehlendem Startartikel nicht
Für Testzwecke kein Problem, eine DEV-Version drüber zu installieren. Sofern Du CONTENIDO 4.9 DEV produktiv einsetzt, können wir freilich nicht garantieren, dass die Version einwandfrei funktioniert - auch wenn sicherlich Probleme allenfalls im Detail / bei bestimmten Situation auftreten KÖNNTEN. DEV-Versionen sind nicht durchgetestet und wir unterstützen offiziell auch nicht die Upgrades zwischen den Releases.
Frederic Schneider
Entwickler bei der four for business AG
Entwickler bei der four for business AG
Re: Editor funktioniert wegen fehlendem Startartikel nicht
Hallo,
ich habe ja soeben eine weitere Installation gemacht - im Unterschied zur der mit dem vorhin beschriebenen Fehler (dort läuft PHP 5.3.26 als CGI) habe ich diesmal ein PHP 5.4.16. Und bei dieser Installation tritt der Fehler nicht auf.
ich habe ja soeben eine weitere Installation gemacht - im Unterschied zur der mit dem vorhin beschriebenen Fehler (dort läuft PHP 5.3.26 als CGI) habe ich diesmal ein PHP 5.4.16. Und bei dieser Installation tritt der Fehler nicht auf.
Re: Editor funktioniert wegen fehlendem Startartikel nicht
Hallo,
ich bin schon weider über diesen Fehler gestolpert:
Ich glaube der Fehler tritt durch folgenden Code auf, wenn es in der entsprechenden Kategorie keinen Startartikel gibt:
Wäre schön, wenn statt dem patzen Fehler einfach NULL, 0 oder false zurück gegeben werden würde.
ich bin schon weider über diesen Fehler gestolpert:
Code: Alles auswählen
[22-Jul-2015 18:14:57 Europe/Berlin] PHP Fatal error: Uncaught exception 'cBadMethodCallException' with message 'Can not load start article due to multiple loaded start articles.' in /www/htdocs/.../contenido/classes/class.article.collector.php:253
Stack trace:
#0 /www/htdocs/.../contenido/includes/include.con_editcontent.php(212) : eval()'d code(424): cArticleCollector->startArticle()
#1 /www/htdocs/.../contenido/includes/include.con_editcontent.php(212): eval()
#2 /www/htdocs/.../contenido/includes/frontend/include.front_content.php(494): include('/www/htdocs/...')
#3 /www/htdocs/.../contenido/external/backendedit/front_content.php(41): include('/www/htdocs/...')
#4 {main}
thrown in /www/htdocs/.../contenido/classes/class.article.collector.php on line 253
Code: Alles auswählen
$artCollection = new cArticleCollector(array('idcat' =>$idcat));
$startarticle = $artCollection->startArticle();
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: Editor funktioniert wegen fehlendem Startartikel nicht
Ich habe die Darstellung eben auf unserem Testserver mit der 4.9.8-Entwicklerversion versucht nachzustellen:
Zwei Kategorien, eine Mutter- und eine Tochterkategorie. In beiden Kategorien befindet sich jeweils ein Artikel, keiner davon ist ein Startartikel. Ich kann beide Artikel problemlos bearbeiten.
Hast Du ggf. weitere Informationen für uns, damit wir das Problem reproduzieren können? Zum Beispiel Serverkonfiguration, eingesetzte Version, sonstige Besonderheiten?
Zwei Kategorien, eine Mutter- und eine Tochterkategorie. In beiden Kategorien befindet sich jeweils ein Artikel, keiner davon ist ein Startartikel. Ich kann beide Artikel problemlos bearbeiten.
Hast Du ggf. weitere Informationen für uns, damit wir das Problem reproduzieren können? Zum Beispiel Serverkonfiguration, eingesetzte Version, sonstige Besonderheiten?
Frederic Schneider
Entwickler bei der four for business AG
Entwickler bei der four for business AG
Re: Editor funktioniert wegen fehlendem Startartikel nicht
Hallo Frederic,
vielen Dank für deine Antwort. Ich konnte gestern schon das Problem etwas eingrenzen - und es hat nichts mit dem Editor selbst zu tun. Sondern mit dem Aufruf des cArticleCollector und dann dem Aufruf nach dem Startartikel wie hier:
was ich in einem meiner Module mache. Danach wird mit der Fehlermeldung von gestern abgebrochen - und der Editor erscheint gar nicht mehr. Das Problem ist also der Zugriff auf den Startartikel, den es eben nicht gibt. Leider wird hier einfach ein Fehler erzeugt und abgebrochen, statt dass z.B. NULL zurück gegeben wird.
Contenido-Version: 4.9.7
PHP-Version: 5.6.10
vielen Dank für deine Antwort. Ich konnte gestern schon das Problem etwas eingrenzen - und es hat nichts mit dem Editor selbst zu tun. Sondern mit dem Aufruf des cArticleCollector und dann dem Aufruf nach dem Startartikel wie hier:
Code: Alles auswählen
$artCollection = new cArticleCollector(array('idcat' =>$idcat));
$startarticle = $artCollection->startArticle();
Contenido-Version: 4.9.7
PHP-Version: 5.6.10
-
- Beiträge: 27
- Registriert: Di 23. Dez 2014, 14:08
- Kontaktdaten:
Re: Editor funktioniert wegen fehlendem Startartikel nicht
Wenn eine Exception geworfen wird, wenn kein Startartikel gefunden wird (weil kein Startartikel vorhanden ist), ist das meines Wissens nach ok. Man muss den aufrufenden Code mittels Exception-Handling absichern.
Zum Beispiel
Hier ein paar Informationen zur Ausnahmebehandlung: http://php.net/manual/de/language.exceptions.php
Zum Beispiel
Code: Alles auswählen
try {
$artCollection = new cArticleCollector(array('idcat' =>$idcat));
$startarticle = $artCollection->startArticle();
} catch (Exception $e) {
// etwas ist schiefgelaufen.
}
Re: Editor funktioniert wegen fehlendem Startartikel nicht
Okay, ich werde das ausprobieren, danke.
Re: Editor funktioniert wegen fehlendem Startartikel nicht
Hallo, hat super funktioniert - danke für den Hinweis.
-
- Beiträge: 27
- Registriert: Di 23. Dez 2014, 14:08
- Kontaktdaten:
Re: Editor funktioniert wegen fehlendem Startartikel nicht
Gern geschehen.
Re: Editor funktioniert wegen fehlendem Startartikel nicht
Hey smac,
Der Setter für die collector option Startarticle ist standardmäßig auf FALSE gesetzt, sprich der ArticleCollector wird dir zu genau keinem Zeitpunkt jemals einen Startartikel liefern.
Der Fehler tritt also immer auf! Dafür ist ein Catch-Exception einfach unsinnig.
Du müsstest den Code zumindest um folgendes Erweitern
Für den Fall das du nur den Startartikel haben möchtest hilft dir sicher
Hier kannst du dann z.B. die Länge prüfen und dir deine eigene Alternative basteln, was wahrscheinlich übersichtlicher ist.
Beste Grüße,
Benjaimn
Lösung ist sicherlich praktikabel, Exception ist immer anzudenken, jedoch solltes du nochmal hinterfragen was du genau bezwecken möchtest!thomas.stauer_4fb hat geschrieben: Zum Beispiel
Code: Alles auswählen
try { $artCollection = new cArticleCollector(array('idcat' =>$idcat)); $startarticle = $artCollection->startArticle(); } catch (Exception $e) { // etwas ist schiefgelaufen. }
Der Setter für die collector option Startarticle
Code: Alles auswählen
$options['start'] = false;
Der Fehler tritt also immer auf! Dafür ist ein Catch-Exception einfach unsinnig.
Du müsstest den Code zumindest um folgendes Erweitern
Code: Alles auswählen
$artCollection = new cArticleCollector(array('idcat' =>$idcat, 'start' => true));
Code: Alles auswählen
$artCollection = new cArticleCollector(array('idcat' =>$idcat, 'startonly' => true));
Beste Grüße,
Benjaimn
Re: Editor funktioniert wegen fehlendem Startartikel nicht
Hallo Benjamin,
danke für den Hinweis. In dem konkreten Fall reicht mir die Überprüfung, aber für andere Anwendungen ist dein Vorschlag sicherlich besser - vielen Dank dafür.
danke für den Hinweis. In dem konkreten Fall reicht mir die Überprüfung, aber für andere Anwendungen ist dein Vorschlag sicherlich besser - vielen Dank dafür.