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.