Verschiedene Error Pages für verschiedene Artikel, die gerade nicht publiziert sind.

  • Joomla Version
    4.4.2
    PHP Version
    PHP 8.1.x
    Hoster
    tvmettmenstetten.ch
    Link (URL) zur Seite mit dem Problem
    https://www.tvmettmenstetten.ch/index.php/riegen/jugi/wettkaempfe

    Hallo

    wir haben auf unserer Website neu Anmeldeformulare aufgeschaltet (siehe Seite mit Problem). Die Formulare sind mit Balbooas Forms Komponente erstellt. Funktioniert alles bestens.


    Wie möchten nun die Anmeldeformulare nur während der Anmeldefrist freischalten. Ich suche nach einem geeigneten Weg, das zu implementieren. Ich möchte möglichst nicht perjodisch den Artiklel mit den vielen Links anpassen müssen. Die Links zeigen je auf einen separaten Artikel, der dann das Formular anzeigt.


    Eine Idee ist, die von Joomla angebotene "Start / Finish Publishing" auf den Formular Artikeln zu verwenden. Im unpublished Status wird dann die Error Page angezeigt. Nun soll pro Formular eine separate Error-Page angezeigt werden.


    Ich habe Artikel zur Anpassung vom error.php gelesen; soweit klar.


    Kann ich im error.php feststellen, welche URL den Fehler verursach hat?


    Gruss

    Peter

  • Kann ich im error.php feststellen, welche URL den Fehler verursach hat?

    An den Anfang der error.php

    Code
    use Joomla\CMS\Uri\Uri;

    Mit einem

    Code
    $uri = Uri::getInstance();

    bekommst dann das Uri-Objekt, was z.B. so aussehen kann

    Das hat dann mehrere Methoden wie z.B.

    Code
    $uri->toString()
    
    $uri->getPath()
    
    usw.
  • Anschlussfrage. Ich kenne mich mit dem Joomla API leider nocht nicht wirklich aus.


    Wenn ich dann festegetellt habe, dass es ein 404 für eine der betroffenen Seiten ist, so möchte ich direkt einen Joomla Artikel ausgegben, der den Fall erklärt. In allen anderen Fällen soll die standard Error-Page vom Template angezeigt werden.


    Wie rufe ich einen spezifischen Artikel aus dem error.php auf?

  • Also, ich habe jetzt das error.php mit folgendem Code am Anfang ergänzt:


    Funkioniert wunderbar. Einziger Wermuthstropfen an der Geschichte: Ich muss aufpassen, dass meinen Modifikation am error.php bei einem Template Update (Helix) nicht verloren geht. Das error.php im Template Vezeichnis stellt ja schon den Override vom Standard Joomla erro.php dar und es gibt keine weitere Override Möglichkeit. Ich habe den File Mode auf 444 gesetzt und hoffe, dass das beim nächsten Template Updaze entweder einen Fehler zeigen wird, oder aber zumindest meine Modifikation unangetastet lässt.

  • Das Helix Ultimate lässt sich doch kopieren, nutzen und in der Kopie kannst du ja deine error.php updatesicher ändern.

    Ja, da hast du recht. Ich spiele jedoch Udates regelmässig ein und die müsste ich dann auf die Kopie auch wieder anwenden. Dann stellte sich das gleich Problem auch wieder.