Sie können die globalen Einstellungen und die Mandanten Administration um eigene Reiter erweitern. Diese Einstellungen ergänzen die Standard Einstellungen des Systems und können über den selben Weg geschrieben und gelesen werden.
Konfiguration schreiben
Sie benötigen folgende Dateistruktur, um eigene Reiter zu definieren:
<strong>var</strong>
-- <strong>lib</strong>
---- <strong>admin</strong>
------ <strong>t</strong>
-------- <em>conf_my_options.html</em>
------ <em>conf_my_options.php</em>
---- <strong>conf.ini</strong>
Die Bezeichnungen der Dateien
conf_my_options.html und conf_my_options.php
sind individuell gestaltbar. Sie können auch mehrere Dateien für mehrere Reiter anlegen.
Die Datei conf.ini beinhaltet die Informationen zu den Reitern und sieht z.B. so aus:
[my_options]
section = "global"
name = "Meine Einstellungen"
title = "Meine Einstellungen"
template = "admin/t/conf_my_options.html"
script = "admin/conf_my_options.php"
Über section können Sie die Position des Reiters festlegen (global = Globale Einstellungen, site = Mandanten Administration). Ein script ist nicht unbedingt notwendig. Falls Sie eins verwenden, können Sie hier in PHP Funktionalität für diesen Reiter bereitstellen.
Falls Sie mehrere Reiter definieren möchten, müssen Sie lediglich weitere Blöcke in die Datei conf.ini einfügen. Wichtig ist, dass der Schlüssel jedes Blocks eindeutig ist ([my_options]).
Das template sollte auf folgendem Inhalt basieren, um sich in das Gesamtbild der System Einstellungen nahtlos einzugliedern:
<form name="extra">
<div align="center">
<table>
<tr>
<td colspan="2">
<table border="0" cellspacing="1" cellpadding="4">
<tr>
<td>
{input version=5 type="checkbox" name="my_checkbox" title="Checkbox" short="Meine Checkbox."}
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</form>
{literal}
<script type="text/javascript">
function do_load_extra() {
set_input_value('my_checkbox', window.parent.get_conf('<strong>my_options</strong>', 'my_checkbox'));
}
function do_unload_extra() {
window.parent.set_conf('<strong>my_options</strong>', 'my_checkbox', get_input_value('my_checkbox'));
}
</script>
{/literal}</table>
Über my_options in do_load_extra und do_unload_extra können Sie Ihre Einstellungen in einen separaten Block der Konfiguration speichern und so bequemer abfragen. Wenn Sie diesen Parameter leer lassen, werden Ihre Einstellungen in erster Ebene der Konfiguration gespeichert.
Konfiguration lesen
Ihre Konfiguration können Sie in PHP, aber auch in Smarty (im Template) lesen.
Globale Einstellungen in PHP:
$GLOBALS['egotec_conf']['my_options']['my_checkbox'];
Globale Einstellungen in Smarty:
{$egotec_conf.my_options.my_checkbox}
Mandanten Administration in PHP:
$site->admin['my_options']['my_checkbox'];
Mandanten Administration in Smarty:
{$site->admin.my_options.my_checkbox}