Ergebnis 1 bis 3 von 3

Thema: In eigenem Modul auf 404 Seite weiterleiten

  1. #1
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard In eigenem Modul auf 404 Seite weiterleiten

    In einem eigenen Modul möchte ich gerne auf die in der Seitenstruktur verfügbare 404 Seite leiten, sofern verfügbar. Wie würde man da idealerweise vorgehen? Momentan mache ich es so:
    PHP-Code:
                // find the matching root page
                
    $objRootPage $this->getRootPageFromUrl();

                
    // look for a 404 page
                
    $obj404 = \PageModel::find404ByPid($objRootPage->id);

                
    // die if there is no page at all
                
    if ($obj404 === null)
                {
                    
    header('HTTP/1.1 404 Not Found');
                    
    die_nicely('be_no_page''Page not found');
                }

                
    // redirect to 404 page
                
    $this->redirect($this->generateFrontendUrl($obj404->row(), null$objRootPage->language), (($obj404->redirect == 'temporary') ? 302 301)); 
    (tlw. aus PageError404 kopiert). Oder gäbe es einen einfacheren Weg, über eine API Funktion die ich noch nicht kenne bspw.?

  2. #2
    Contao-Fan Avatar von stefan.sl
    Registriert seit
    19.06.2009.
    Ort
    Iserlohn
    Beiträge
    352
    Partner-ID
    1371

    Standard

    Da ich über Google auf diesen Thread gestoßen bin und die Lösung selbst gefunden habe, poste ich das mal:
    PHP-Code:
                if (($objPage = \PageModel::findByPk($this->jumpTo)) !== null) {
                    
    // gefunden
                
    } else {
                    
    $objHandler = new $GLOBALS['TL_PTY']['error_404']();
                    
    $objHandler->generate($objPage->id);
                } 

  3. #3
    Contao-Nutzer Avatar von a-v-l
    Registriert seit
    20.09.2013.
    Ort
    Freiburg im Breisgau
    Beiträge
    88

    Standard Page Not Found in Contao 4.x

    Nur falls nochmal jemand auf diesen Thread stößt:

    In Contao 4 gibt es eine eigene Exception, die zu einer vorhandenen Seite des Typs "404 Seite nicht gefunden" führt:

    PHP-Code:
    use Contao\CoreBundle\Exception\PageNotFoundException;

    throw new 
    PageNotFoundException('Page not found: ' Environment::get('uri')); 
    Falls in Contao die 404-Seite nicht angelegt ist, wird das Symfony-Template vendor/symfony/twig-bundle/Resources/views/Exception/error.html.twig angezeigt…

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •