Main Navi erzeugt error log

Alles rund um Module und Plugins in CONTENIDO 4.9.
Antworten
shi
Beiträge: 251
Registriert: Fr 5. Nov 2004, 14:12
Kontaktdaten:

Main Navi erzeugt error log

Beitrag von shi » Fr 7. Dez 2018, 12:25

Hallo, die Main-Navigation erzeugt in einem Projekt folgende error-log:

Code: Alles auswählen

[07-Dec-2018 12:17:53 Europe/Berlin] PHP Warning:  Missing argument 1 for Item::loadByPrimaryKey(), called in /var/www/vhosts/test.de/contenido/includes/frontend/include.front_content.php(754) : eval()'d code on line 173 and defined in /var/www/vhosts/test.de/contenido/classes/genericdb/class.item.php on line 288
Entferne ich das Modul aus dem Template wird der Fehler nicht erzeugt. Wer oder Was erzeugt den Fehler? Hat jemand eine Idee wonach ich suchen muss?

Im Frontend wird aber alles richtig angezeigt und funktioniert auch.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Main Navi erzeugt error log

Beitrag von Faar » Fr 7. Dez 2018, 14:50

Hi,
vermutlich wird der Fehler durch PHP 7.2 ausgeworfen, zumindest aber PHP 7.
Es fehlt offensichtlich die ID als Argument, die dort übergeben werden soll.

Code: Alles auswählen

 public function loadByPrimaryKey($mValue)
Das $mValue sollte zumindest eine ID oder ein Array voller IDs sein.
Das wird offensichtlich nicht übertragen.

Nun fragt sich natürlich, woher soll die ID kommen, die da fehlt?
Vielleicht ist das Modul nicht richtig konfiguriert?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

shi
Beiträge: 251
Registriert: Fr 5. Nov 2004, 14:12
Kontaktdaten:

Re: Main Navi erzeugt error log

Beitrag von shi » Fr 7. Dez 2018, 15:02

Aktiv ist php 5.6.38 und Version 4.9.12

Wenn ich alle Module aus dem Template entferne und die Seite dann im frontend aufrufe, erscheinen auch die error-logs.

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

Re: Main Navi erzeugt error log

Beitrag von xmurrix » Fr 7. Dez 2018, 15:52

Hallo shi,
...Entferne ich das Modul aus dem Template wird der Fehler nicht erzeugt. Wer oder Was erzeugt den Fehler? Hat jemand eine Idee wonach ich suchen muss?...
dazu müsste man den Code des Moduls sehen. Da es sich hier um ein Navigation-Modul handelt, liegt es nahe, dass hier ein Kategorie-Objekt erzeugt wird, der Konstruktor aber keine ID der Kategorie als Parameter bekommt.

Vor uns nach der Zeile aus dem Fehlerlog, der hier geposted wurde, sollten mehr an Informationen stehen, ein sogenanntes Stacktrace, das den Ablauf des Programmcodes in Teilen darstellt, aus der man entnehmen kann, was da alles an Funktionen in welchen Scriptes aufgerufen wurden.

Nachtrag:
Ziemlich am Anfang des Moduls "Main navigation" aus dem Beispielmandanten steht folgendes drin:

Code: Alles auswählen

$rootIdcat = getEffectiveSetting('navigation_main', 'idcat', 1);
$depth = getEffectiveSetting('navigation_main', 'depth', 3);
Das sind Einstellungen, die ausgelesen werden. Sind diese nicht gesetzt, so wird für die ID 1 als Fallback für die Hauptkaegorie verwendet (siehe Zeile 1), von der aus alle Unterkategorien ermittelt werden. Das muss aber nicht immer zwingend 1 sein. Vielleicht gibt es keine Kategorie mit der ID 1, vielleicht liegt der Fehler woanders.

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.

shi
Beiträge: 251
Registriert: Fr 5. Nov 2004, 14:12
Kontaktdaten:

Re: Main Navi erzeugt error log

Beitrag von shi » Di 11. Dez 2018, 10:37

Ich habe mal alle Module aus dem Template entfernt und wollte diese nacheinander zuschalten um zu sehen bei welchem Modul der Fehler kommt. Der kommt aber schon wenn kein Modul eingebunden ist. Es gibt auch keine Error-log davor oder danach es ist immer dieser, pro Aufruf der Seite steht diese Zeile 10 mal drin:

Code: Alles auswählen

[11-Dec-2018 10:36:05 Europe/Berlin] PHP Warning:  Missing argument 1 for Item::loadByPrimaryKey(), called in /var/www/vhosts/test.de/contenido/includes/frontend/include.front_content.php(754) : eval()'d code on line 173 and defined in /var/www/vhosts/test.de/contenido/classes/genericdb/class.item.php on line 288

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

Re: Main Navi erzeugt error log

Beitrag von xmurrix » Di 11. Dez 2018, 10:55

Wenn es nicht in Modulen vorkommt, dann vermutlich im Layout. Laut der Meldung wird der Fehler in Zeile 173 des ausgeführten Codes der Seite erzeugt. Im Ordner cms/cache/code liegen die einzelnen Code-Dateien der Seiten, eines davon verursacht den Fehler.

Ich würde folgendes vorschlagen:
- Den Ordner "cms/cache/code" leeren
- Einmal die Seite aufrufen
- Die in "cms/cache/code" erstellte Datei öffnen
- Nachsehen, was in Zeile 173 ist
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.

shi
Beiträge: 251
Registriert: Fr 5. Nov 2004, 14:12
Kontaktdaten:

Re: Main Navi erzeugt error log

Beitrag von shi » Di 11. Dez 2018, 11:59

Danke für den Tipp, habe jetzt heraus bekommen das es wohl an dem Modul "terminliste-ausgabe-v3" liegt.

Warum wird im Ordner cms/cache/code immer die Startseite mit erzeugt auch wenn man nur eine Unterseite aufruft. Im Ordner sind dann immer zwei Dateien die 1.1.1.php und die 1.1.3php von der eigentlichen Seite die man aufgerufen hat.

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

Re: Main Navi erzeugt error log

Beitrag von xmurrix » Di 11. Dez 2018, 12:15

shi hat geschrieben:
Di 11. Dez 2018, 11:59
...Warum wird im Ordner cms/cache/code immer die Startseite mit erzeugt auch wenn man nur eine Unterseite aufruft...
Das kann ich nicht sagen, dazu müsste man sich das genauer ansehen. Vermutlich wird der Code der Startseite als Fallback generiert, für den Fall, dass die angefragte Seite nicht ausgegeben wird.
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.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Main Navi erzeugt error log

Beitrag von Faar » Di 11. Dez 2018, 12:42

xmurrix hat geschrieben:
Di 11. Dez 2018, 12:15
Das kann ich nicht sagen, dazu müsste man sich das genauer ansehen. Vermutlich wird der Code der Startseite als Fallback generiert, für den Fall, dass die angefragte Seite nicht ausgegeben wird.
Ich habe dann den Verdacht, dass es sich um die sogenannte Fehlerseite handelt, die man in den Einstellungen festlegen kann.
Standard ist nämlich die Startseite, zumindest wird immer auf die geleitet, wenn nichts sonst angegeben ist.
Kann aber auch sein, dass letzteres vom AMR so gehandhabt wird, oder?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

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

Re: Main Navi erzeugt error log

Beitrag von xmurrix » Di 11. Dez 2018, 13:24

Faar hat geschrieben:
Di 11. Dez 2018, 12:42
...Ich habe dann den Verdacht, dass es sich um die sogenannte Fehlerseite handelt, die man in den Einstellungen festlegen kann.
Standard ist nämlich die Startseite, zumindest wird immer auf die geleitet, wenn nichts sonst angegeben ist.
Kann aber auch sein, dass letzteres vom AMR so gehandhabt wird, oder?...
Vermutlich ist es nicht die Fehlerseite, denn die würde dann auch ausgegeben werden. Die einzige Stelle, in der der Code der Seite generiert wird, ist während der Ausgabe der Seite. Es kann aber sein, dass auf der Seite ein Modul verwendet wird, der auch einen Artikel generiert, z. B. das Modul "content_article_include", mit der man andere Artikel in einer Vorlage integrieren kann.
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.

Antworten