Benutzerverwaltung um eigene Reiter erweitern

Um einen eigenen Reiter in der Benutzerverwaltung zu erstellen gehen Sie wie folgt vor:

Erstellen Sie in

var
folgende Ordnerstruktur
lib/rights/t/
und unter
var/lib/rights
die Datei
user_profile_tab.ini
. Diese Datei definiert zusätzliche Reiter welche in der Benutzerverwaltung erscheinen sollen. Die ini Datei verhält sich ähnlich der
navigation.ini
der Seitentypen.

Beispiel (var/lib/rights/user_profile_tab.ini)

[profile] name = Profil title = Profil template = rights/t/user_profile_dlg.html script   = rights/user_profile_dlg.php right = desktop [kunden_daten] name = "Kundendaten" title = "Kundendaten" template = rights/t/kunden_daten.html script = rights/kunden_daten.php right = desktop

Der erste Bereich [profile] sollte standardmäßig immer hinzugefügt werden, damit Benutzername und Passwort weiterhin bearbeitet werden können.

Der zweite Bereich stellt einen neuen Reiter dar. Die Parameter

template und script erhalten jeweils den Pfad zur Template- und Skriptdatei. Der Parameter right
steht für das Ansichtsrecht. Templates werden im
t
Verzeichnis abgelegt.

Beispiel (Skript: var/lib/rights/kunden_daten.php)

<?php    $smarty->assign('aktuelles_datum',date("d.m.Y")); // Das aktuelle Datum als Smarty-Platzhalter übergeben ?>

Beispiel (Template: var/lib/rights/t/kunden_daten.html)

<script><form method="post" name="edit"> <div align="center"> <table>    <tr>       <td colspan="2">       <table border="0" cellspacing="1" cellpadding="4">          <tr>             <td><b>{t}VIP-Kunde{/t}</b><br /><small>Aktiv bei besonderen Benutzern</small></td>             <td><input type="checkbox" name="extra[vip]" value="1" /></td>          </tr>          <tr>             <td><b>{t}Rechnung bezahlt am:{/t}</b><br /><small>Letzter Zahlungseingang</small></td>             <td>                <input type="text" name="extra[bezahlt]" />                &nbsp;&nbsp;&nbsp;(aktuelles Datum: {$aktuelles_datum})             </td>          </tr>       </table>       </td>    </tr> </table> </div> </form> <script language="javascript"> <!-- var elements = document.forms['edit'].elements; {literal} function do_load_extra() {    elements['extra[vip]'].checked = window.parent.get_extra('vip')==1;    elements['extra[bezahlt]'].value = window.parent.get_extra('bezahlt'); } function do_unload_extra() {    window.parent.set_extra('vip', elements['extra[vip]'].checked?1:0);    window.parent.set_extra('bezahlt', elements['extra[bezahlt]'].value); } {/literal} //--> </script>

Vorschau

benutzer_profil_reiter

Im Beispiel werden 2 einfache Eingabefelder als Checkbox und Texteingabe definiert. Wie beim Erstellen von Seitentyp-Reitern werden auch hier die do_load_extra und do_unload_extra Funktionen zum Ein- und Auslesen der gespeicherten Werte verwendet.