Xtmembers

Aus Contao Community Documentation


Zusätzliche Datenfelder für Contao-Mitglieder.


Erweiterungs-Übersicht
Name des Entwicklers Helmut Schottmüller (hschottm)
Entwickler Webseite http://www.aurealis.de
Version der Erweiterung 2.0.1
Kompatibilität mit Contao Version 2.9.0 - 2.9.1
Kompatibilität mit TYPOlight Version 2.8.0 - 2.8.4
Link zum Extension Repository http://www.contao.org/erweiterungsliste/view/xtmembers.de.html
Den Entwickler unterstützen http://aurealis.de/spenden.html


MemberExtensions (Zusätzliche Datenfelder für Mitglieder)

Erstellen einer Registrierungsseite

Mit dem Modul Mitgliederregistrierung kann in Contao eine Seite zur Anmeldung von Mitgliedern erstellt werden. Die editierbaren Felder legen fest, welche Felder ein potentielles Mitglied bei der Registrierung angeben kann und in welcher Reihenfolge diese Felder angezeigt werden.

Editierbare Felder

MemberExtensions fügt den bestehenden Mitgliederfeldern noch die folgenden Felder hinzu:

  • Titel (Einzeiliges Textfeld)
  • Beschreibung der Position (Mehrzeiliges Textfeld)
  • Sprechstunde (Mehrzeiliges Textfeld)
  • Arbeitsgebiet (Mehrzeiliges Textfeld)
  • Abteilung/Organisationseinheit (Einzeiliges Textfeld)
  • Adresszeile 2 (Einzeiliges Textfeld)
  • Raumnummer (Einzeiliges Textfeld)
  • Gebäude (Einzeiliges Textfeld)
  • Arbeitsbeginn (Datum)
  • Ausgeschieden (Datum)

Außerdem werden zwei bestehende Felder umbenannt:

  • Straße in Adresszeile 1
  • Firma in Institution

Für die Darstellung der Registrierungsseite kann aus verschiedenen Templates ausgewählt werden. Die ..._grouped...-Templates stellen die Registrierungsseite gruppiert dar, während das Template member_default die Registrierungsseite in der festgelegten Reihenfolge der editierbaren Felder ausgibt. Das Template member_grouped_useragreement ist speziell für eine gruppierte Ausgabe der Registrierungsseite, in der auch eine Nutzervereinbarung angezeigt wird.

Verfügbare Templates

Viele Seiten verlangen von ihren Mitgliedern, dass sie eine bestimmte Nutzervereinbarung akzeptieren. Dies kann durch die Auswahl des Kontrollkästchens Nutzervereinbarung anzeigen aktiviert werden. Die Nutzervereinbarung besteht aus Aufforderung, die Nutzervereinbarung zu akzeptieren und dem Text der Nutzervereinbarung. Wird die Nutzervereinbarung nicht akzeptiert, erfolgt keine Erstellung eines neuen Contao-Mitglieds und es wird eine Fehlermeldung ausgegeben.

Nutzervereinbarung

In einigen Fällen kann es auch sinnvoll sein, neuen Mitgliedern nicht automatisch eine vordefinierte Mitglieder-Gruppe zuzuweisen, sondern diese Gruppe auswählbar zu machen. Wenn Sie die Gruppenauswahl ermöglichen und aus ihren verfügbaren Gruppen mindestens eine Gruppe zur Auswahl bereitstellen, wird diese Auswahl auf der Registrierungsseite angeboten. Im Falle einer Gruppenauswahl durch die Neuanmeldung wird ein Mitgliedszugang nicht direkt aktiviert, sondern inaktiv angelegt. Ein Administrator muss dann nach Überprüfung der Auswahl das neu angelegte Mitglied aktivieren.

Gruppenauswahl ermöglichen

Erstellen einer Mitgliederliste

Um eine Liste von Mitgliedern einer oder mehrerer Mitgliedergruppen zu erzeugen, müssen Sie ein Modul vom Typ Mitgliederliste erstellen. Dort geben Sie die sichtbaren Felder der Liste an, die dann - falls die jeweiligen Felder von den Mitgliedern als öffentlich definiert wurden - in der Liste angezeigt werden. Auf der rechten Seite jedes Eintrags wird dann in der Frontend-Ansicht der Mitgliederliste eine kleine Informations-Grafik angezeigt, die bei einem Mausklick das öffentliche Profil des angezeigten Mitglieds ausgibt.

Info-Grafik der Mitgliederliste

MemberExtensions erweitert diese Funktionalität durch die Möglichkeit, eine Seite für eine Weiterleitung anzugeben. Existiert eine solche Seite, so wird bei dem Klick auf die Informations-Grafik nicht das öffentliche Profil geöffnet, sondern die angegebene Seite. Idealerweise sollte sich auf dieser Seite ein Modul vom Typ Mitgliederseite befinden, das von MemberExtensions eingeführt wurde.

Weiterleitung zu den persönlichen Daten

Erstellen einer detaillierten Mitgliederseite

Das Modul Mitgliederseite ermöglicht die Ausgabe der Mitgliederdaten eines Mitglieds auf einer eigenen Seite. Es kann außerdem durch die Einstellung Erlaubte Mitgliedergruppen festgelegt werden, dass die Mitgliedsdaten, ob öffentlich oder nicht öffentlich, nur für eine oder mehrere bestimmte Mitgliedergruppen ausgegeben werden dürfen. Dadurch kann z.B. verhindert werden, dass die Daten von Mitgliedsgruppen, die nur für den "internen" Gebrauch angelegt wurden, durch Ausprobieren von Mitglieds-ID's ausgegeben werden.

Ausgabe des öffentlichen Profils eines bestimmten Mitglieds

Das Modul Mitglieder-Details ermöglicht die Ausgabe des öffentlichen Profils eines bestimmten Mitglieds. Wählen Sie dazu nur den Namen des Mitglieds im Dropdown-Feld Mitglied aus. Die Ausgabe entspricht der Detailansicht des Mitglieds, die über das Modul Mitgliederliste für ein Mitglied angezeigt werden kann.

Bearbeiten der persönlichen Daten von Mitgliedern

Mitglieder können, wenn Sie angemeldet sind, ihre persönlichen Daten bearbeiten. Dafür muss von Contao das Modul Persönliche Daten bereitgestellt werden. Neben den editierbaren Feldern, die Sie hier festgelegt werden können, gibt es die Möglichkeit, über die Option Seiteneditor aktivieren den Mitgliedern zu erlauben, neben ihrer normalen Mitgliederseite auch noch weitere Seiten zu definieren, die beliebige Inhalte annehmen dürfen.

Seiteneditor aktivieren

Mit aktiviertem Seiteneditor dürfen die Mitglieder in der Frontend-Darstellung des Moduls Persönliche Daten ihre eigenen Seiten anlegen. Dies kann z.B. dazu verwendet werden, einen Lebenslauf, eine persönliche Stellungnahme oder andere Inhalte anzulegen.

Anlegen/Bearbeiten einer zusätzlichen Seite

Neben der Sichtbarkeit der jeweiligen Seiten und dem Inhalt der Seite kann für jede Seite noch ein Titel festgelegt werden.

Erstellen von individuellen Mitgliederseiten

Wenn Sie persönliche Seiten mit individuellen Inhalten zur Verfügung stellen wollen, bietet Ihnen MemberExtensions zwei Konfigurations-Arrays an, über die Sie callback-Funktionen für eigene Erweiterungen einbinden können:

Konfigurations-Array Schlüssel Wert Beschreibung
$GLOBALS['TL_PERSONALDATA_EDITOR'] SEITENTYP Callback-Funktion array Diese Funktion wird aufgerufen, wenn der Editor für eine persönliche Seite aufgerufen wird. Bitte definieren Sie die Callback-Funktion als array('Klasse', 'Methode'). Die Funktion erhält ein assoziatives Array mit dem Seitenaufbau und eine Objektreferenz auf die aufrufende Klasse als Parameter. Als Rückgabewert gibt die Funktion den HTML-Code für den Seiteneditor zurück.
$GLOBALS['TL_PERSONALDATA'] SEITENTYP Callback-Funktion array Diese Funktion wird aufgerufen, wenn die Frontend-Ausgabe für eine persönliche Seite aufgerufen wird. Bitte definieren Sie die Callback-Funktion als array('Klasse', 'Methode'). Die Funktion erhält ein assoziatives Array mit dem Seitenaufbau als Parameter. Als Rückgabewert gibt die Funktion den HTML-Code für die Seitenausgabe zurück.

SEITENTYP muss ein eindeutiger Bezeichner für die Mitgliederseiten-Erweiterung sein. Die dazugehörige Übersetzung muss in tl_module.php als $GLOBALS['TL_LANG']['tl_module']['pagetype']['SEITENTYP'] definiert werden.

Das assoziative Array, das als erster Callback-Parameter übergeben wird, beinhaltet die Namen und Werte der Formularfelder, die im Seiteneditor verwendet werden, z.B.:

Array
(
    [title] => Publikationen
    [content] => Array
        (
        )
 
    [position] => 3
    [is_visible] => 1
    [href] => index.php/persoenliche-daten.html?activepage=3
    [type] => literature
)

Die folgenden Schlüssel und Werte sind im assoziativen Array angegeben:

Schlüssel Wert Typ Beschreibung
title Seitentite

l string

Titel der Seite, der über das Textfeld Seitentitel verändert werden kann. position Seitenreihenfolge integer Reihenfolge der Seite in der Liste der persönlichen Seiten. is_visible Sichtbarkeit boolean Gibt an, ob die aktuelle Seite für andere Mitglieder und Gäste sichtbar ist oder nicht. Der Wert wird durch das Kontrollkästchen Die Seite ist sichtbar beeinflusst. href Seiten-URL string URL auf die aktuelle Seite. type Seitentyp string Typ der aktuellen Seite content Seiteninhalt mixed Je nach Seitentyp beinhaltet content den Wert des Datenbankfeldes content der Tabelle tl_member_pages. Wenn Sie einen komplexeren Seitentyp anlegen, empfiehlt es sich hier, entweder den HTML-Inhalt der Seite oder aber ein serialisiertes Array mit den Seiteninformationen in diesem Feld zu speichern.

Ein Beispiel für eine Mitgliederseiten-Erweiterung wäre z.B.

$GLOBALS['TL_PERSONALDATA_EDITOR']['literature'] = array('LiteraturePersonalPage', 'editPersonalLiteratureList');
$GLOBALS['TL_PERSONALDATA']['literature'] = array('LiteraturePersonalPage', 'showPersonalLiteratureList');

in einer entsprechenden config.php. Eine Mitgliederseiten-Erweiterung wurde bereits im Contao-Modul Contao:literature erstellt.

--Hschottm 12:48, 11. Sep. 2010 (CEST)

Ansichten
Meine Werkzeuge

Contao Community Documentation

Andreas, leg dich da hinten hin und schlaf, dann kommen wir vorwaerts.

Tristan Lins
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge