Calendar Vorlage Erstellen
Die Vorlagen sind im Ordner pattern/
$this->language = Der Inhalt von pattern_????.txt
Eine Vorlage besteht aus:
- MeinPattern.php = Die Volagen Datei.
- MeinPattern.css = Vorlagen Syles (Optinal).
- MeinPattern.htm = Eine Liste für den Admin-Info mit den Funktonen und den Parametern dazu (Optinal).
Aufbau der Vorlagen Datei
# Wie bei denn Plugins ist der Classname gleich auch der Dateiname
class MeinPattern extends CalDate {
# Da werden die Zellen der Datenbank festgelegt. Als erstes ist immer das Datum.
public $datenCols = array("{CAL_DATE}","{CAL_TITLE}","{CAL_TEXT}","{CAL_ORT}","{CAL_COLOR}");
private $datenColAdmin = array();
private $adminTemplate = NULL;
# Optionale Funktion die aus dem Admin Aufgerufen wird
function admin_init() {
# Das sind die Formular Elemente für den Admin. Die Reienfolge entspricht den $datenCols
$this->datenColAdmin[] = '<input type="text" name="event[CAL_DATE]" value="{CAL_DATE}" />';
$this->datenColAdmin[] = '<input type="text" name="event[CAL_TITLE]" value="{CAL_TITLE}" />';
$this->datenColAdmin[] = '<textarea name="event[CAL_TEXT]">{CAL_TEXT}</textarea>';
$this->datenColAdmin[] = '<input type="text" name="event[CAL_ORT]" value="{CAL_ORT}" />';
$this->datenColAdmin[] = '<select name="event[CAL_COLOR]">'
.'<option value="cal-color1" selected="selected">cal-color1</option>'
.'<option value="cal-color2">cal-color2</option>'
.'<option value="cal-color3">cal-color3</option>'
.'</select>';
# Demo Code
$this->adminTemplate = '<table cellspacing="0" border="0" cellpadding="0"><tbody>'
.'<tr>'
.'<td style="width:1%;">'.$this->language->getLanguageValue("cal_date").'</td>'
.'<td style="width:1%;">{CAL_DATE}</td>'
.'<td style="width:1%;">'.$this->language->getLanguageValue("cal_ort").'</td>'
.'<td>{CAL_ORT}</td>'
.'<td style="width:1%;" class="cal-nowrap">'.$this->language->getLanguageValue("cal_color").'</td>'
.'<td style="width:1%;">{CAL_COLOR}</td>'
.'</tr><tr>'
.'<td>'.$this->language->getLanguageValue("cal_title").'</td>'
.'<td colspan="5">{CAL_TITLE}</td>'
.'</tr><tr>'
.'<td colspan="6">'.$this->language->getLanguageValue("cal_inhalt").'<br />'
.'{CAL_TEXT}</td>'
.'</tr>'
.'</tbody></table>';
}
# Optionale Funktion die aus dem Plugin Aufgerufen wird
function front_init() {
}
# Eine Funktion die mit hilfe des Plugin Parameters Aufgerufen wird.
# Die ??? sind Platzhalter für den Funktions name.
function template_???() {
}
# Pflicht Funktion die aus dem Admin Aufgerufen wird für das Event.
# Der Parameter ist das Event aus der Datenbank.
function template_admin_event($event) {
# Demo Code
$replace = array();
foreach($this->datenCols as $i => $search) {
if($i === 4) {
$this->datenColAdmin[$i] = str_replace(' selected="selected"',"",$this->datenColAdmin[$i]);
$replace[$i] = str_replace('value="'.$daten[$i].'"','value="'.$daten[$i].'" selected="selected"',$this->datenColAdmin[$i]);
} else
$replace[$i] = str_replace($search,$daten[$i],$this->datenColAdmin[$i]);
}
return str_replace($this->datenCols,$replace,$this->adminTemplate);
}
# Pflicht Funktion die aus dem Admin Aufgerufen wird für das Neue Event
function template_admin_newevent() {
# Demo Code
$event = str_replace($this->datenCols,$this->datenColAdmin,$this->adminTemplate);
return str_replace($this->datenCols,"",$event);
}
}