... | @@ -3,7 +3,7 @@ Profil erweitern |
... | @@ -3,7 +3,7 @@ Profil erweitern |
|
|
|
|
|
Das Frontend-Users Modul bietet die Möglichkeit das Profil Control (Oberfläche) eines Benutzers zu erweitern.
|
|
Das Frontend-Users Modul bietet die Möglichkeit das Profil Control (Oberfläche) eines Benutzers zu erweitern.
|
|
|
|
|
|
Über eine `frontend-users.xml` ikönnen Sie neue Tabs und Controls hinzufügen.
|
|
Über eine `frontend-users.xml` können Sie neue Kategorien, Einstellungen und Controls hinzufügen.
|
|
|
|
|
|
|
|
|
|
frontend-users.xml
|
|
frontend-users.xml
|
... | @@ -17,18 +17,64 @@ Legen Sie in Ihrem Root Verzeichnis eine `frontend-users.xml` an. |
... | @@ -17,18 +17,64 @@ Legen Sie in Ihrem Root Verzeichnis eine `frontend-users.xml` an. |
|
<quiqqer>
|
|
<quiqqer>
|
|
<frontend-users>
|
|
<frontend-users>
|
|
<profile>
|
|
<profile>
|
|
<tab name="user" require="" icon="fa fa-user" control="">
|
|
|
|
<text>
|
|
<categories>
|
|
<locale group="quiqqer/frontend-users" var="profile.userData.text"/>
|
|
<category name="user">
|
|
</text>
|
|
<title>
|
|
<template>OPT_DIR/quiqqer/frontend-users/src/QUI/FrontendUsers/Controls/Profile/user.html</template>
|
|
<locale group="quiqqer/frontend-users" var="profile.user.title"/>
|
|
</tab>
|
|
</title>
|
|
<tab name="avatar" icon="fa fa-address-book-o">
|
|
|
|
<text>
|
|
<!-- Meine Daten -->
|
|
<locale group="quiqqer/frontend-users" var="profile.avatar.text"/>
|
|
<settings control="\QUI\FrontendUsers\Controls\Profile\UserData"
|
|
</text>
|
|
name="data"
|
|
<template>OPT_DIR/quiqqer/frontend-users/src/QUI/FrontendUsers/Controls/Profile/avatar.html</template>
|
|
icon="fa fa-user"
|
|
</tab>
|
|
showinprofilbar="1"
|
|
|
|
>
|
|
|
|
<title>
|
|
|
|
<locale group="quiqqer/frontend-users" var="profile.data.title"/>
|
|
|
|
</title>
|
|
|
|
</settings>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Passwort ändern -->
|
|
|
|
<settings control="\QUI\FrontendUsers\Controls\Profile\ChangePassword"
|
|
|
|
name="changepassword"
|
|
|
|
icon="fa fa-key"
|
|
|
|
showinprofilbar="1"
|
|
|
|
>
|
|
|
|
<title>
|
|
|
|
<locale group="quiqqer/frontend-users" var="profile.changepassword.title"/>
|
|
|
|
</title>
|
|
|
|
</settings>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Avatar -->
|
|
|
|
<settings name="avatar"
|
|
|
|
icon="fa fa-camera"
|
|
|
|
showinprofilbar="1"
|
|
|
|
>
|
|
|
|
<title>
|
|
|
|
<locale group="quiqqer/frontend-users" var="profile.avatar.title"/>
|
|
|
|
</title>
|
|
|
|
<template>
|
|
|
|
OPT_DIR/quiqqer/frontend-users/src/QUI/FrontendUsers/Controls/Profile/avatar.html
|
|
|
|
</template>
|
|
|
|
</settings>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Deleting account -->
|
|
|
|
<settings control="\QUI\FrontendUsers\Controls\Profile\DeleteAccount"
|
|
|
|
name="deleteaccount"
|
|
|
|
icon="fa fa-trash"
|
|
|
|
showinprofilbar="1"
|
|
|
|
>
|
|
|
|
<title>
|
|
|
|
<locale group="quiqqer/frontend-users" var="profile.deleteaccount.title"/>
|
|
|
|
</title>
|
|
|
|
</settings>
|
|
|
|
</category>
|
|
|
|
</categories>
|
|
|
|
|
|
</profile>
|
|
</profile>
|
|
</frontend-users>
|
|
</frontend-users>
|
|
</quiqqer>
|
|
</quiqqer>
|
... | @@ -38,35 +84,44 @@ Legen Sie in Ihrem Root Verzeichnis eine `frontend-users.xml` an. |
... | @@ -38,35 +84,44 @@ Legen Sie in Ihrem Root Verzeichnis eine `frontend-users.xml` an. |
|
- `<frontend-users>` beginnt die Angaben für das Frontend-Users Modul
|
|
- `<frontend-users>` beginnt die Angaben für das Frontend-Users Modul
|
|
- `<profile>` Angaben für das Profil
|
|
- `<profile>` Angaben für das Profil
|
|
|
|
|
|
### Angaben eines Tabs / Kategorie
|
|
### Angaben einer Kategorie
|
|
|
|
|
|
|
|
- `<categories>` Neue kategorien
|
|
|
|
- `<category>` Eine einzelne Kategorie (Eltern Kategorie) - ist ähnlich wie eine Gruppierung
|
|
|
|
- `<title>` Text / Titel der Kategorie (Wird im Menü angezeigt)
|
|
|
|
|
|
|
|
### Angaben eines Kategorien Setting
|
|
|
|
|
|
|
|
- `<settings>` Neue unter Kategorie (Setting)
|
|
|
|
- `<title>` Text / Titel des Setting (Wird im Menü angezeigt)
|
|
|
|
- `<template>` ist optional, gibt ein HTML Template an
|
|
|
|
|
|
- `<tab>` erstellt einen neuen Tab in den Profil Controls
|
|
|
|
- `<text>` angezeigter Text. Kann auch `<locale>` enthalten
|
|
|
|
- `<template>` ist optional, gibt ein HTML Template
|
|
|
|
|
|
|
|
#### Controls oder Template in einem Tab
|
|
#### Controls oder Template in einem Setting
|
|
|
|
|
|
Sie haben zwei Möglichkeiten einen Tab mit Inhalt zu füllen.
|
|
Sie haben zwei Möglichkeiten ein Kategorie Setting mit Inhalt zu füllen.
|
|
Wenn Sie lediglich ein Template nutzen möchten um Informationen bereit zustellen, können Sie ein einzelnes Template zur Anzeige angeben.
|
|
Wenn Sie lediglich ein Template nutzen möchten um Informationen bereit zustellen, können Sie ein einzelnes Template zur Anzeige angeben.
|
|
|
|
|
|
```xml
|
|
```xml
|
|
<tab name="avatar" icon="fa fa-address-book-o">
|
|
<settings name="avatar" icon="fa fa-camera">
|
|
<text>
|
|
<title>
|
|
<locale group="quiqqer/frontend-users" var="profile.avatar.text"/>
|
|
<locale group="quiqqer/frontend-users" var="profile.avatar.title"/>
|
|
</text>
|
|
</title>
|
|
<template>OPT_DIR/quiqqer/frontend-users/src/QUI/FrontendUsers/Controls/Profile/avatar.html</template>
|
|
<template>
|
|
</tab>
|
|
OPT_DIR/quiqqer/frontend-users/src/QUI/FrontendUsers/Controls/Profile/avatar.html
|
|
|
|
</template>
|
|
|
|
</settings>
|
|
```
|
|
```
|
|
|
|
|
|
Möchten Sie jedoch weitere Logik verwenden, Benutzerdaten ändern oder hinzufügen, können Sie ein Control als Schnittstelle implementiere.
|
|
Möchten Sie jedoch weitere Logik verwenden, Benutzerdaten ändern oder hinzufügen, können Sie ein Control als Schnittstelle implementiere.
|
|
|
|
|
|
```xml
|
|
```xml
|
|
<tab name="user" require="" icon="fa fa-user" control="\QUI\My\Control">
|
|
<settings control="\QUI\FrontendUsers\Controls\Profile\DeleteAccount"
|
|
```
|
|
```
|
|
|
|
|
|
##### Tab Control
|
|
##### Setting Control
|
|
|
|
|
|
Ein Tab Control muss folgende Eigenschaften erfüllen:
|
|
Ein Setting Control muss folgende Eigenschaften erfüllen:
|
|
|
|
|
|
- Muss von `QUI\Control` erben
|
|
- Muss von `QUI\Control` erben
|
|
- Muss das Interface `QUI\FrontendUsers\Controls\Profile\ControlInterface` implementieren
|
|
- Muss das Interface `QUI\FrontendUsers\Controls\Profile\ControlInterface` implementieren
|
... | @@ -86,7 +141,7 @@ Prüft die eingetragenen Daten. Wenn Sie einen Benutzer erweitern, müssen Sie d |
... | @@ -86,7 +141,7 @@ Prüft die eingetragenen Daten. Wenn Sie einen Benutzer erweitern, müssen Sie d |
|
|
|
|
|
Ihr HTML des Controls sollte zusätzlich einen Speicher Button beinhaltet damit das darüberliegende Formular abgesendet werden kann. Möchten Sie dies nicht und möchten eine eigene Speicherroutine implementieren können Sie dies tun. Implementieren Sie hierzu eine eigene Ajax Speicherroutine und nutzen einen eigenen Button anstelle des `type="submit"` Buttons.
|
|
Ihr HTML des Controls sollte zusätzlich einen Speicher Button beinhaltet damit das darüberliegende Formular abgesendet werden kann. Möchten Sie dies nicht und möchten eine eigene Speicherroutine implementieren können Sie dies tun. Implementieren Sie hierzu eine eigene Ajax Speicherroutine und nutzen einen eigenen Button anstelle des `type="submit"` Buttons.
|
|
|
|
|
|
**Beispiel eines Tab Controls**
|
|
**Beispiel eines Setting Controls**
|
|
|
|
|
|
```php
|
|
```php
|
|
<?php
|
|
<?php
|
... | @@ -97,7 +152,7 @@ use QUI; |
... | @@ -97,7 +152,7 @@ use QUI; |
|
use QUI\Control;
|
|
use QUI\Control;
|
|
use QUI\FrontendUsers\Controls\Profile\ControlInterface
|
|
use QUI\FrontendUsers\Controls\Profile\ControlInterface
|
|
|
|
|
|
class MyTabControl extends Control implements ControlInterface
|
|
class MySettingControl extends Control implements ControlInterface
|
|
{
|
|
{
|
|
/**
|
|
/**
|
|
* @return string
|
|
* @return string
|
... | | ... | |