Xtmembers: Unterschied zwischen den Versionen
Aus Contao Community Documentation
K (div. Korrekturen) |
|||
Zeile 6: | Zeile 6: | ||
| Dev=Helmut Schottmüller ([[User:hschottm|hschottm]]) | | Dev=Helmut Schottmüller ([[User:hschottm|hschottm]]) | ||
| DevSite=http://www.aurealis.de | | DevSite=http://www.aurealis.de | ||
− | | ExtVersion=2.0. | + | | ExtVersion=2.0.3 |
− | | Version=2. | + | | Version=2.10.0 - 2.10.3 |
| TLVersion=2.8.0 - 2.8.4 | | TLVersion=2.8.0 - 2.8.4 | ||
| ERLink=http://www.contao.org/erweiterungsliste/view/xtmembers.de.html | | ERLink=http://www.contao.org/erweiterungsliste/view/xtmembers.de.html |
Version vom 28. Dezember 2011, 16:29 Uhr
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.3 |
Kompatibilität mit Contao Version | 2.10.0 - 2.10.3 |
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 |
Inhaltsverzeichnis
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.
MemberExtensions fügt den bestehenden Mitgliederfeldern noch die folgenden Felder hinzu:
- Titel (Einzeiliges Textfeld)
- Titel [erweitert] (Einzeiliges Textfeld)
- Anrede (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)
- Kampagne (Einzeiliges Textfeld)
- Art der Geschäftsbeziehung (Einzeiliges Textfeld)
- Branche (Einzeiliges Textfeld)
- Jobtitel (Einzeiliges Textfeld)
- Jobtitel [Visitenkarte] (Einzeiliges Textfeld)
- Notizen (Mehrzeiliges Textfeld)
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.
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.
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 man die Gruppenauswahl ermöglicht und aus den verfügbaren Gruppen mindestens eine Gruppe zur Auswahl bereitstellt, 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.
Erstellen einer Mitgliederliste
Um eine Liste von Mitgliedern einer oder mehrerer Mitgliedergruppen zu erzeugen, muss man ein Modul vom Typ Mitgliederliste erstellen. Dort gibt man 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.
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.
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. Dazu wählt man 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 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.
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.
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 man persönliche Seiten mit individuellen Inhalten zur Verfügung stellen will, bietet MemberExtensions zwei Konfigurations-Arrays an, über die man callback-Funktionen für eigene Erweiterungen einbinden kann:
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. Man definiert 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. Man definiert 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 | Beschreibung |
---|---|---|
title | Seitentitel 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 literature erstellt.
--Hschottm 12:48, 11. Sep. 2010 (CEST)