Einrichten des Community-Addons für individuelle Benutzerbereiche

Nachfolgend werden nochmal die Arbeitsschritte aufgezeigt, mit denen man mit Hilfe der YAML-Templates und der Basisversion des Community-Addons individuelle passwort-geschützte Bereiche für jeden Community-User errichtet.

Als erstes muss natürlich zunächst das Community-Addon in seiner Basisversion installiert und aktiviert worden sein.

1. Erweitern der Userfelder des Community-Addons

Um individuelle Login-Seiten für jeden Community-User angeben zu können, muss zunächst ein Userfeld in der Community-Userverwaltung hinzugefügt werden.

loginarticle

Um die SQL-Abfrage auf die Startartikel der Kategorien zu beschränken, kann sie wie folgt erweitert werden:

SELECT id, name FROM `rex_article` WHERE clang=0 and startpage=1

2. Einrichten der MetaInfo art_com_perm

Falls noch nicht durch die Installation des Community-Addon geschehen, wird nun die MetaInfo art_com_perm mit den folgenden Einstellungen eingerichtet:

art_com_perm

3. Einrichten der MetaInfo art_com_user

Nun ist noch eine weitere MetaInfo einzurichten, die letztlich die aktiven User des Community-Addons in einem Select-Feld in den Metadaten der Artikel bereit hält.

art_com_user

Durch die UNION SELECT Anweisung im Parameter-Feld wird neben den aktiven Usernamen auch der Wert “angemeldet” in das Selectfeld der MetaInfo eingetragen. Mit diesem Wert können Artikel in den Metadaten gekennzeichnet werden, die von allen angemeldeten Community-Usern aufgerufen werden dürfen.

4. Einbinden der Templates

Zu guter Letzt werden jetzt noch die yaml-Templates in das Seitentemplate eingebunden:

Templates
<?php
/**
 * ==================================================
 * Template: yaml_layout
 * Version: 1.1
 * Redaxo Version: 4.2.x
 * HTML-/XHTML-Version: XHTML 1.0
 *
 * Hinweise:
 * YAML3.1-konformes Seiten-Template für Redaxo 4.2.x
 * XHTML-Quelltext basiert auf YAML-Version 3.1
 *
 * Bearbeitung: Peter Reiche
 *        www.raybeam.de
 *
 * Datum: 13.12.2009
 * Anpassung an redaxo-community-basis-addon
 *
 * Ursprung-Datum: 04.03.2009
 * ================================================== */



// zusätzlich einzubindende Templates:
$yamlLayoutIncId = '2'; // yaml_layout_inc-Template-ID
$navTemplateId   = '3'; // yaml_navigation-Template-ID

// optional einzubindende Templates:
$authTemplateId  = '4'; // authentifizierung-Template-ID
$loginTemplateId = '5'; // login-Template-ID
$encryptEmailsId = ''; // email-adressen verschlüsseln

Ausserdem muss noch angegeben werden in welchem Bereich die Ausgabe des Login-Templates erfolgen soll. In unserem Besipiel soll es die rechte Inhaltsspalte sein. Die Übergabe erfolgt durch die Variable login, die in diesem Fall vor die Ausgabe des eigentlichen Spalteninhaltes gesetzt wird.

$col2Content    = $login.$this->getArticle(4)// Platzhalter für Inhalte in der zweiten Float-Spalte des Inhaltsbereiches
 

Nun müssen nur noch die Community-User im Setup des Community-Addon angelegt werden.

In das Feld “Login-Artikel-ID” der Userverwaltung wird die ID des Artikels eingetragen, der nach dem Login des Users angezeigt werden soll. Das kann entweder ein individueller Artikel für jeden User sein oder aber auch ein Artikel, der über den Artikel-Typ “eingeloggt” und den Community-User “angemeldet” jedem angemeldeten User zugänglich ist.

Noch ein Hinweis: Um einen Artikel zu schützen, muss zwingend die MetaInfo Artikel-Typ (art_com_perm) auf “eingeloggt” gesetzt werden. Das gilt auch beim Einsatz der MetaInfo Community-User (art_com_user).