Contao auto Item

Detailansicht generieren

Nehmen wir an wir haben ein Contao Frontend Modul erstellt, welches unsere Datensätze im Frontend als Liste darstellt. Jeder dieser Listenpunkte soll eine eigene Detailseite besitzen. Damit das funktioniert erstellen wir ein Frontend Modul für die Detailansicht. Genauso wie bei den Nachrichten oder Events Modul. ( Siehe Nachrichtenleser, Eventleser ).

Damit wir die jeweilige Detailseite ermitteln können, benötigen wir den Seitenalias. Diesen Seitenalias können mit der Input Klasse auslesen:

\Input::get('auto_item')

Code Snippet

<?php

use Contao\Model;
use Contao\Input;
use Contao\Config;

class ModuleDemoDetailPage extends Module{

    protected $strTemplate = 'mod_demo_detailpage';

    public function generate()
    {

        /**
         * Damit wir keine 404 Fehlermeldung bekommen, setzten wir den auto_item.
         */
        if (!isset($_GET['item']) && Config::get('useAutoItem') && isset($_GET['auto_item'])) {

            Input::setGet('item', Input::get('auto_item'));

        }

        return parent::generate();

    }

    protected function compile()
    {
        /**
         * alias auslesen
         */
        $alias = Input::get('auto_item');

        /**
         * DB Abfrage
         */
        $itemDB = $this->Database->prepare('SELECT * FROM tl_demo WHERE alias = ?')->execute($alias);
        // dein code …
    }

}
Zurück