404 Fehlermeldung generieren

404 "Seite nicht gefunden"

Wenn dein Modul oder deine Seite kein passenden Datensatz findet, solltest du immer eine 404 Fehlermeldung generieren.

Contao 3.5


<?php
 
use Contao\Model;
use Contao\Input;
use Contao\Config;
 
class ModuleDemoDetailPage extends Module{
     
    /**
     * 
     */
    protected function compile()
    {
        global $objPage;
 
        $alias = Input::get('auto_item');
 
        $demoItemDB = $this->Database->prepare('SELECT * FROM tl_demo WHERE alias = ?')->execute($alias);
 
        /**
         * 404 Fehlerseite ausgeben
         */
        if( !$alias || $demoItemDB->count() < 1 )
        {
            $objHandler = new $GLOBALS['TL_PTY']['error_404']();
            $objHandler->generate($objPage->id);
        }
 
 
    }
 
}

Contao 4.*


<?php
 
use Contao\Model;
use Contao\Input;
use Contao\Config;
 
class ModuleDemoDetailPage extends Module{
     
    /**
     * 
     */
    protected function compile()
    {
        global $objPage;
 
        $alias = Input::get('auto_item');
 
        $demoItemDB = $this->Database->prepare('SELECT * FROM tl_demo WHERE alias = ?')->execute($alias);
 
        /**
         * 404 Fehlerseite ausgeben
         */
        if( !$alias || $demoItemDB->count() < 1 )
        {
            throw new \CoreBundle\Exception\PageNotFoundException( 'Page not found: ' . \Environment::get('uri') );
        }
 
 
    }
 
}
Zurück