Special page for link type 38 could not be found.

fibergirl

Sehr aktives Mitglied
14. April 2016
828
253
Hallo,

schon seit längerer Zeit sammeln sich folgende Fehlermeldungen im Logbuch an:

"Special page for link type 38 could not be found."

Laut /includes/defines_inc.php ist das wohl die Bestellstatus-Seite, 'PAGE_BESTELLSTATUS'.

Ich kann unter Eigene Inhalte - Seiten tatsächlich keine Seite namens "Bestellstatus" finden.

Allerdings, wenn ich als Kunde im Shop eingeloggt bin, kann ich ohne weiteres jeden Bestellstatus abrufen. Da ist kein Problem festzustellen.

Was sollte ich nun tun, um diese Fehlermeldungen loszuwerden, ohne etwas kaputtzumachen?

Dank & Gruß,
fibergirl
 

fibergirl

Sehr aktives Mitglied
14. April 2016
828
253
Ich wollte die Seite jetzt unter Hidden als neue Seite anlegen.

Die muss man doch vermutlich als Spezialseite anlegen, hier wollte ich "Status" oder "Bestellstatus" o.ä. verwenden.
Aber etwas Derartiges wird im Pulldownmenu für den Seitentyp Spezialseite gar nicht angeboten.
Was jetzt?

Dank & Gruß,
fibergirl
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.359
340
Halle (Saale)
Ach, sorry, ich bin hier selbst durcheinander geraten.
PAGE_BESTELLSTATUS hat damit gar nichts zu tun. Hier geht es um Linktypen und nicht Seiten, also sowas wie "LINKTYP_VERSAND", "LINKTYP_STARTSEITE"etc.
Hier gibt es nur gar keinen Linktyp mit dem Wert 38, die Liste geht nur bis 36: https://gitlab.com/jtl-software/jtl-shop/core/-/blob/master/includes/defines_inc.php#L228

Ehrlich gesagt kann ich mir also nicht erklären, wie diese Meldung zustande kommt.
 

fibergirl

Sehr aktives Mitglied
14. April 2016
828
253
Nach ein bisschen debugging habe ich nun festestellt:

Es kommt tatsächlich von der Statusseite.

Der Aufruf findet statt in /status.php Zeile 88, hier die Zeilen 83 bis 89:
PHP:
$step = 'bestellung';
$smarty->assign('step', $step)
       ->assign('BESTELLUNG_STATUS_BEZAHLT', BESTELLUNG_STATUS_BEZAHLT)
       ->assign('BESTELLUNG_STATUS_VERSANDT', BESTELLUNG_STATUS_VERSANDT)
       ->assign('BESTELLUNG_STATUS_OFFEN', BESTELLUNG_STATUS_OFFEN)
       ->assign('Link', $linkHelper->getPageLink($linkHelper->getSpecialPageID(PAGE_BESTELLSTATUS)));
Und da ist PAGE_BESTELLSTATUS wieder.

Da müsste ich also wohl doch tatsächlich eine Spezialseite anlegen.
Nur wie?
Wie gesagt, das Pulldownmenu für Seitentyp: Spezialseite bietet es nicht an. Oder welche müsste die Statusseite sein?

Dank & Gruß,
fibergirl
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.359
340
Halle (Saale)
Du hast recht. Das ist aber schon im Aufruf ein Fehler unsererseits.
Die Methode nimmt wie gesagt nur Linktypen an, keine Seiten.
Da die Status-Seite eigentlich nur ein Untertyp von "Mein Konto" ist, wäre hier wohl LINKTYP_LOGIN statt PAGE_BESTELLSTATUS korrekt.
Ich mach da ein Ticket für auf.
 

nmueller

Sehr aktives Mitglied
5. April 2011
1.307
98
Saarland

HotFix funktioniert bei mir leider nicht mit Shop5.1.1
Auch mit geänderter status.php Datei kommt weiterhin eine Error 500 Meldung bei Paypal Express.

$smarty->assign('Kunde', new Customer($order->kKunde))
->assign('Lieferadresse', $order->Lieferadresse)
->assign('billingAddress', $order->oRechnungsadresse)
->assign('incommingPayments', $order->getIncommingPayments());

->assign('BESTELLUNG_STATUS_BEZAHLT', BESTELLUNG_STATUS_BEZAHLT)
->assign('BESTELLUNG_STATUS_VERSANDT', BESTELLUNG_STATUS_VERSANDT)
->assign('BESTELLUNG_STATUS_OFFEN', BESTELLUNG_STATUS_OFFEN)
->assign('Link', $linkHelper->getPageLink($linkHelper->getSpecialPageID(LINKTYP_LOGIN)));

Auch die Plugins lassen sich nicht korrekt aktualisieren - unter "Meine Käufe" steht:

2.0.1 Aktualisierung auf Version 2.1.0 verfügbar

und beim klick auf "aktualisieren" passiert einfach nichts. Selbiges gilt allerdings auch für andere Plugins (EU Cookie, Doofinder, egal welches).
PHP-Verison ist 8.0.11 , allerdings noch MariaDB 5.5.68 (weil Strato hier einfach Mist ist und so)