Dieser Thread ist zwar schon ein bißchen älter aber ich möchte doch noch meinen Senf dazugeben. Ich habe es mittlerweile auch geschafft einen Mitgliederbereich einzurichten. Vielleicht kann mein Posting anderen Anfängern helfen. Meine Beschreibung wird also ausführlicher. BTW: Ich bin auch Anfänger.
Folgende Anforderungen und Rahmenbedingungen:
- CMSms 1.2.3
- Nur ein Nutzer und Passwort für alle Mitglieder (kann aber leicht erweitert werden)
- Menüeinträge des Mitgliederbereichs brauchen nicht versteckt zu werden. Aber wenn man einen Unterpunkt anwählen will, wird man gezwungen sich anzumelden. Das gleiche gilt, wenn man die URL einer Mitgliederseite direkt eingibt.
1.
Zuerst die Module CustomContent und FrontEndUsers in dieser Reihenfolge (wg. Abhängigkeiten) im Modulmanager installieren. CMSMailer muss wohl auch installiert sein (ist aber standardmäßig vorhanden).
2.
In "Benutzer & Gruppen/FrontendUser-Verwaltung" im Register "Benutzer-Eigenschaften" "Eigenschaft hinzufügen". Benutzernamen und Kennwort _dürfen_nicht_ als Eigenschaft erstellt werden, da diese automatisch erzeugt werden. Mehr brauche ich auch eigentlich nicht für meine Mitgliederbereichsanmeldung. Allerdings verlangt das Modul UNBEDINGT eine weitere Eigenschaft, warum weiß ich nicht. Ich habe einfach eine Eigenschaft "dummy" angelegt (Name:dummy, Eingabeaufforderung:Dummy, Typ:Text, ->Weiter, den Rest so lassen, ->Absenden).
3.
Register "Benutzergruppen" -> "Eine Benutzergruppe hinzufügen". Beliebigen Gruppenbamen unter Name und eine Beschreibung eingeben. In der unten stehenden Tabelle mit der Eigenschaft "dummy", den Feldstatus auf "Verborgen" wechseln, sonst alles so lassen und -> Absenden.
4.
Register "Benutzer" -> "Einen Benutzer hinzufügen" (Ganz unten auf der Seite). Beliebigen Benutzernamen und beliebiges Passwort eingeben (mind. 6 Zeichen ist Standardeinstellung, kann aber im Register "Eigenschaften" geändert werden). Passwort im Feld "noch einmal" erneut eingeben. Ablaufdatum eingeben. Bei meinem Projekt ändert sich das Passwort zum 1.1. jeden Jahres. Ich habe also Januar, 1, 2009, 00, 00, 00 (aktuelles Jahr ist 2008) eingeben. Ob man einen permanenten Benutzer anlegen kann, weiß ich nicht.
In der unten stehenden Tabelle "Benutzergruppen" die vorher erstellte Gruppe auswählen, indem man das Kontrollkästchen ganz rechts anhakt. Damit haben wir den gerade erstellten Benutzer einer Benutzergruppe zugeordnet, -> Weiter
Das Feld "Dummy!" einfach leerlassen. -> Absenden
5.
Register "Einstellungen", "Den Benutzern erlauben, sich mehr als einmal anzumelden" anhaken.
6. Register "Anmeldungs-Template"
Die Links "Passwort oder Benutzernamen vergessen" benötigen wir nicht und werden auskommentiert oder gelöscht, Z.B. so:
Code: Select all
<!--
<a href="{$url_forgot}" title="{$mod->Lang('info_forgotpw')}">{$mod->Lang('forgotpw')}</a><br/>
<a href="{$url_lostun}" title="{$mod->Lang('info_lostun')}">{$mod->Lang('lostusername')}</a>
-->
Zwei Zeilen drüber sollte man ein "/" zwischen "...('login')}" und ">
..." einfügen, damit die Seite XHTML valide wird.
Code: Select all
<input type="submit" name="{$feuactionid}submit" value="{$mod->Lang('login')}" /><br/>
7.
Nun müssen wir ein neues Template erstellen (Menü: Layout->Templates). Am einfachsten ist es das Standardtemplate zu kopieren und es einen neuen Namen geben, z.B. "Mitgliederseiten". Suche den Kommentar {* Start Content Area *} und ändere den Code wie unten bis zum Kommentar {* End Content *}:
Code: Select all
{* Start Content Area *}
<div id="main">
<!-- ============== CustomContent ==================================== -->
{* User eingeloggt? *}
{if $customcontent_loggedin > 0}
<h2>{title}</h2>
{content} <br />
<hr class="accessibility" />
{else}
<h2>Anmeldung zum Mitgliederbereich</h2>
{cms_module module=FrontEndUsers form='login'}
{/if}
<!-- ============================================================== -->
</div>
{* End Content Area *}
</div>
{* End Content *}
8.
Erstelle jetzt die neue Hauptseite des Mitgliederbereichs unter Menü "Inhalte->Seiten->Neue Seite hinzufügen". Inhaltstyp: "Content", Titel und Menütext kannst du beliebig wählen, Übergeordnete Seite kannst du auch frei wählen.
Unter "Template" muss die das neu erstellte Template eingetragen werden, also hier "Mitgliederseiten" (bei ALLEN Mitgliederseiten!). Trage unter Inhalte eine Begrüßungsnachricht ein und wähle dann das Register Optionen. Der Punkt "Zwischenspeichern" muss daktiviert sein (bei ALLEN Mitgiederseiten!). Jetzt noch ein Seiten-Alias und ggf. eine Beschreibung vergeben. Ich habe unter Metadaten folgendes eingetragen:
Code: Select all
<meta name="robots" content="noindex, nofollow" />
Damit sollen Suchmaschinen angewiesen werden die Seite nicht zu indizieren. Allerdings dürften die sowieso kein Zugriff auf die Seite bekommen. Aber doppelt hält besser

. Kann man das aber auch zwischen und im Mitgliedertemplate eintragen, dann spart man sich etwas Arbeit, wenn man mehrere Mitgliederseiten anlegt.
9.
Mann kann nun mehrere Seiten auf diese Art und Weise anlegen, auch unterhalb der eben erstellten. Wichtig sind die Punkte die ich mit "bei ALLEN Mitgliederseiten" gekennzeichnet habe.
OPTIONEN:
=========
Interne Suchfunktion:
Man kann seine Mitgliederseiten auch von der CMSms-Suchfunktion auschließen. Mit dem Eitrag von:
Code: Select all
<!-- pageAttribute: NotSearchable -->
irgendwo im Mitgliedertemplate. Nötig ist das nicht. Wenn der Benutzer die gefundene Mitgliederseite aufrufen will, wird er automatisch aufgefordert sich anzumelden und danach auf die gewünschte Seite weitergeleitet.
(Unter)Menübeiträge des Mitgliederbereichs verstecken:
Ist auch nicht unbedingt nötig. Wenn ein Benutzer einen Mitgliederbereichs-Untermenüpunkt direkt anklickt oder die URL eingibt, wird er aufgefordert sich anzumelden. Ansonsten hat Cyberman unter
http://forum.cmsmadesimple.org/index.ph ... l#msg28880 dazu etwas geschrieben.
Abmelden:
Da bei es bei diesem Beispiel nur einen Benutzer gibt, darf der nicht abgemeldet werden, solange sich weitere eingeloggte Besucher auf der Seite befinden. Denen würde dann der Ast auf dem sie sitzen abgesägt werden und sie müssten sich ständig neu anmelden. Darum gibt es keine Benuterabmeldung. Wenn der Besucher seinen Browser schließt ist er "quasi" abgemeldet. Beim erneuten Start des Browser muss er sich neu anmelden.
Um das Anmelden in der Entwicklungsphase mehrfach testen zu können, ohne den Browser ständig zu beenden, habe ich eine Mitgliederseite erstellt, die im Inhalt (auf HTML umschalten) folgenden Code enthät:
Code: Select all
{if $customcontent_loggedin > 0}
{cms_module module=FrontEndUsers form='logout'}
{else}
<p>Ausgeloggt</p>
{/if}
Mit dieser Seite kann ich mich dann zu Testzwecken abmelden. Diese Seite kann hinterher gelöscht oder deaktiviert werden.
So, das wars. Ich hiffe ich habe nichts vergessen und es hilft dem einen oder anderen, der einen einfachen Mitgliederbereich mit CMSms einrichten will. Modifikationen sind natürlich möglich.
Weitere Postings zum Thema:
-
http://forum.cmsmadesimple.org/index.ph ... 28880.html
-
http://forum.cmsmadesimple.org/index.ph ... 92671.html
Gruß Hani