ModMaker - Besucheransicht und Ausgabe der Felder in den Templates

Besucheransicht

Unter dem Reiter Besucheransicht wird festgelegt wie die Ausgabe für den Besucher aussehen soll. Die Anzeige der Datensatzliste ist die Basis für jedes Modul. Der Datensatz ist die Vollansicht und wird über einen Link in der Liste aufgerufen.

neuste Einträge:
Die neusten/letzten Einträge können auf einer separaten Seite (z.B. Startseite oder ein Block) angezeigt werden. Zur Ausgabe wird das Template newest.tpl verwendet. In der Administration des Moduls kann die Anzahl der anzuzeigenden Beiträge festgelegt werden.

Eingabemaske in der Besucheransicht:
Besucher können neue Themen oder nur Datensätze anlegen. Die Eingabemaske befindet sich unter der Liste oder auf einer separaten Seite.

SQL Abfrage-Filter setzen

Formular:
Bei Anwahl dieses Punktes wird ein Formular (Template: filter.tpl) für die userdefinierte DB-Abfrage gesetzt. Die Eingabefelder des Formulars muß man selbst setzen. Die Abfrage-Daten müssen in der view.php an das Array class->datafilter übergeben werden.
Es können nur Datensätze gefiltert werden, keine Kategorien oder Themen. Das Formular wird in der Themenansicht oder der Datensatz-Liste angezeigt.

Array datafilter:
Im Array können folgende Schlüssel-Wert Paare gesetzt werden, nicht gesetzte Paare werden ignoriert:

where: "(feldname1 < xyz AND feldname2 > xyz) OR feldname3 = xyz"
Mit dem where-String wird die Datenbank-Abfrage erweitert.
'feldname' müssen Namen selbst definierter Datenbank-Feldnamen sein. Man findet alle Namen in der config.php: conf['data']. 'xyz' können Werte aus den übergebenen Eingaben des Formulars sein.
Es muß sich an die SQL-Syntax gehalten werden!

order: feldname
'feldname' eines selbst definierten Datenbank-Feldnames.

direction: ASC oder DESC
Die Sortierrichtung.

datafilter Beispiel:
Im Formular gibt es 2 Datums-Eingabefelder mit den Namen start und end. Damit sollen nur Datensätze, die sich innerhalb des gewählten Datums befinden, angezeigt werden. Abgefragt wird ein Datenbankfeld mit dem Namen date.
$startdate = strtotime(preg_replace("/[^0-9\-]/", "", $_POST['start']));
$enddate = strtotime(preg_replace("/[^0-9\-]/", "", $_POST['end']));

$mod_class->datafilter = array(
'where' => "date BETWEEN ".$startdate." AND ".$enddate,
'order' => 'date',
'direction' => 'DESC'
);

Templates

Unter dem Reiter Templates wird festgelegt welche Datenfelder in welchem Template ausgegeben werden sollen.

Listenansicht:
Felder die als Listeneintrag angezeigt werden sollen.

Seitenansicht:
Wenn aktiviert, Felder die als voller Datensatz angezeigt werden sollen.

Besuchereingabe:
Wenn aktiviert, Felder die als Besucher-Eingabemaske angezeigt werden sollen.

neuste Einträge:
Wenn aktiviert, Felder die in der Liste der neusten Einträge angezeigt werden sollen.