user.xml
Mit der user.xml
können Sie Benutzer um Attribute, das Profil und oder das Benutzer-Panel erweitern.
Möchten Sie einem Benutzer eine neue Eigenschaft (Attribut) zur Verfügung stellen, definieren Sie dies einfach in der user.xml in der XML Gruppe.
Falls Ihr Plugin noch keine user.xml besitzt, erstellen Sie eine im Root Verzeichnis Ihres Plugins / Modules.
Aufbau
<?xml version="1.0" encoding="UTF-8"?>
<user>
<attributes>
<attribute>quiqqer.erp.euVatId</attribute>
<attribute>quiqqer.erp.taxNumber</attribute>
<attribute>quiqqer.erp.address</attribute>
<attribute>quiqqer.erp.isNettoUser</attribute>
<attribute encrypt="1">quiqqer.erp.password</attribute>
</attributes>
<!-- User Panel erweitern -->
<window>
<tab name="ERP">
<text>Rechnungsdaten</text>
<image>fa fa-sun-o</image>
<template>OPT_DIR/quiqqer/products/template/user.html</template>
</tab>
<categories>
<category>
<text>
<locale group="" var=""/>
</text>
<icon>fa fa-group</icon>
<settings>
<title>
<locale group="" var=""/>
</title>
<input conf="user-attribute">
<text>
<locale group="" var=""/>
</text>
</input>
</settings>
</category>
</categories>
</window>
<!-- User Profil Fenster erweitern -->
<profile>
<tab name="ERP">
<text>Produkte</text>
<image>fa fa-shopping-bag</image>
<template>OPT_DIR/quiqqer/products/template/profile.html</template>
</tab>
</profile>
</user>
-
<user>
: beginnt die User XML -
<attributes>
: Beinhaltet alle zusätzlichen Attribute -
<window>
: Beinhaltet Angaben zur Erweiterung des Benutzer-Panels in der Administration -
<profile>
: Beinhaltet Angaben zur Erweiterung des Benutzer-Profil-Fensters in der Administration -
<categories>
: Beinhaltet Angaben zur Erweiterung des Benutzer-Panels in der Administration (siehe settings.xml)
<attributes>
Unter <attributes>
werden alle neuen Attribute angegeben welche Sie jedem Benutzer extra zur Verfügung stellen. Möchten Sie einen Benutzer nun um eine neue Eigenschaft erweitern müssen Sie im <attributes>
Node weitere <attribute>
Nodes anlegen. Jedes <attribute>
Node gibt eine zusätzliche Eigenschaft des Benutzers an.
Beispiel:
Das folgende Beispiel erweitert jeden Benutzer um eine Eigenschaft quiqqer.erp.euVatId
.
<attributes>
<attribute>quiqqer.erp.euVatId</attribute>
</attributes>
Durch diese Angabe kann nun die Eigenschaft quiqqer.erp.euVatId
in ein Benutzerobjekt gespeichert werden.
<?php
$User = QUI::getUserBySession();
$User->setAttribute(‘quiqqer.erp.euVatId’, ‘SOME_VALUE’);
$User->save();
?>
Möchten Sie sensible Daten dem Benutzer zu weisen, wie Bankdaten, Passwörter oder andere Daten, die sensiblen Informationen beinhalten, können Sie diese Daten verschlüsselt in der Datenbank ablegen. Dazu können Sie dem Attribute eine Eigenschaft encrypt=""
setzen.
<attributes>
<attribute encrypt="1">quiqqer.erp.password</attribute>
</attributes>
<window>
Im <window>
Node können Sie das Benutzer-Panel in der Administration erweitern. Sie können neue Tabs (Kategorien) hinzufügen und oder bestehende Tabs erweitern.
Ein Tab kann folgende Kind Nodes beinhalten
-
<text>
= Legt den Text für die Kategorie fest. Kann auch ein Node beinhalten -
<image>
= Legt das Bild für die Kategorie fest. Ist optional -
<template>
= Pfad zum HTML Template welches in der Kategorie angezeigt werden soll.
Hinweis
Im Benutzerpanel müssen Sie nicht gesondert PHP verwenden um die Daten in das Benutzerobjekt zu speichern. Dies geschieht im Benutzerpanel und im Profil Fenster automatisch wenn die Formular Element Namen gleich der der Attribute Namen sind.
Template
Damit der Redakteur und oder Administrator Eigenschaften des Benutzers setzen kann, müssen Sie HTML Formular Felder verwenden. Geben Sie den Feldern die Namen der Eigenschaft mit welchen Sie die Benutzer erweitert haben.
Template Beispiel für die Eigenschaft ‘quiqqer.erp.euVatId
<input type="text" name="quiqqer.erp.euVatId" class="field-container-field"/>
Im Grunde würde diese Angaben ausreichen. Damit Ihr Redakteur oder Administrator jedoch eine ansprechende Oberfläche verwenden kann, empfehlen wir folgende Angaben:
<table class="data-table data-table-flexbox">
<tr>
<th>
{locale group="quiqqer/erp" var="user.settings.title"}
</th>
</tr>
<tr>
<td>
<label class="field-container">
<span class="field-container-item" style="width: 150px">
{locale group="quiqqer/erp" var="user.settings.euVatId"}
</span>
<input type="text" name="quiqqer.erp.euVatId" class="field-container-field"/>
</label>
</td>
</tr>
</table>
<profile>
Im <profile>
Node können Sie das Benutzerprofil in der Administration erweitern. Sie können neue Kategorien hinzufügen. Die zu verwendeten Child Nodes können im Abschnitt nachgelesen werden. Das Verhalten beider Abschnitte ist gleich.