WCF2: Benutzergruppen-Einstellungen für die eigene Seite

  • WCF 2

Achtung: Diese Seite ist nur noch Teil eines Archivs und wird in Zukunft entfernt.

Zu guter Letzt - vorerst - in dieser Einführung zur Entwicklung in Community Framework 2, fehlen noch schöne Benutzergruppen-Einstellungen, die eine Seite dann - rein technisch gesehen - abrunden. Diese hinzuzufügen ist ähnlich einfach wie auch schon die anderen zusätzlichen Funktionen. Wenn man diese beherrscht, dann geht das auch mit den Benutzergruppen-Einstellungen schnell und einfach.

Hierbei braucht man nun eine userGroupOption.xml, welche folgendermaßen aussieht:

XML-Quellcode

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/maelstrom/userGroupOption.xsd">
  3. <import>
  4. <categories>
  5. <category name="user.examplePage">
  6. <parent>user</parent>
  7. </category>
  8. </categories>
  9. <options>
  10. <!-- user.examplePage -->
  11. <option name="user.examplePage.canViewInfo">
  12. <categoryname>user.examplePage</categoryname>
  13. <optiontype>boolean</optiontype>
  14. <defaultvalue>1</defaultvalue>
  15. </option>
  16. <!-- /user.examplePage -->
  17. </options>
  18. </import>
  19. </data>
Alles anzeigen
Hier wird die Kategorie user.examplePage erstellt, welche innerhalb der Kategorie user zu finden ist. In diese Kategorie kommt dann die Einstellung user.examplePage.canViewInfo als boolsche Variable.

Im Template sieht die Abfrage dann folgendermaßen aus:

Smarty-Template

  1. {if $__wcf->getSession()->getPermission('user.examplePage.canViewInfo')}<p>{lang}wcf.page.example.info{/lang}</p>{/if}

Die benötigten Sprachvariablen sind der Sprachkategorie wcf.acp.group zugeordnet:

XML-Quellcode

  1. <category name="wcf.acp.group">
  2. <item name="wcf.acp.group.option.category.user.examplePage"><![CDATA[Beispielseite]]></item>
  3. <item name="wcf.acp.group.option.user.examplePage.canViewInfo"><![CDATA[Kann Information sehen]]></item>
  4. </category>

Auch hier muss natürlich wieder die package.xml aktualisiert werden. Hinzugekommen sind Änderungen für die Templates, die Sprachen und neu hinzugekommen ist die userGroupOption.xml. Letztere wird folgendermaßen hinzugefügt:

XML-Quellcode

  1. <instruction type="userGroupOption">userGroupOption.xml</instruction>

Das Ergebnis sollte dann folgendermaßen aussehen:


Bei Fragen u.ä. stehe ich natürlich jederzeit gerne zur Verfügung.

Über den Autor
Ich bin Webentwickler in Stuttgart und administriere Server seit vielen Jahren. In diesem Blog erstelle ich hauptsächlich Tutorials für andere Webentwickler, Webdesigner und Serveradministratoren.
-------------------------------------------------------------------------------------------------------------------------------------
I’m a web developer in Stuttgart, Germany, and server administrator since many years. This blog mainly contains a tutorial set for other web developer, web designer and server administrators.

2.301 mal gelesen

Kommentare 10

  • Black Rider -

    Am besten erstellst du im Forum ein Thema dazu und hängst dort das Paket mal an. ;)

  • Fabii -

    Ich habe alles genau so gemacht, zur Sicherheit nochmals alles neu gepackt und nachgeschaut aber bei mir wird einfach nichts angezeigt egal ob der Haken gesetzt ist oder nicht. Hat jemand ne Idee?

  • Logan_Adams -

    Danke für die Tutorialreihe, auch dieses Mal hat alles geklappt.

    Ich würde mich freuen, wenn es bald weiter geht :D

    LG

  • Neuling -

    Mir ist noch ein Punkt eingefallen, der bestimmt einige interessiert:
    4) Wie man eine "Letzte Aktivität" auslöst, die dann im Nutzerprofil bei "Letzte Aktivitäten" angezeigt wird.

  • Neuling -

    Oh, Danke für deine schnelle Rückmeldung.
    Da du gefragt hast, hier noch ein paar Vorschlage:
    1) Wie man Einfluss auf die rechte Seitenleiste nimmt, also dort eigene Inhalte hinterlegen kann in Abhängigkeit der angezigten Seite (z.B. der ExamplePage).
    2) Erstellen einer MultipleLinkPage
    3) Wie ein Inhalt dynamisch ausgetauscht wird mit jQuery.

  • Black Rider -

    Einen Zeitplan gibt es hier noch nicht. Nach Möglichkeit geht es aber im September noch weiter.

    Die beiden gewünschten Tutorials habe ich mir mal aufgeschrieben, für mehr Wünsche bin ich natürlich dankbar. ;)

  • Neuling -

    An dieser Stelle besten Dank für diese wirklich hilfreiche Tutorial-Reihe. Wann meinst du geht es denn weiter?
    Interessant wären vor allem auch Datenbankabfragen und wie diese ihren Weg ins Template finden.

  • he4dh4ntrz -

    Wunderbar, danke! ^^ Blicke da nicht so ganz durch *hüstel*

  • Black Rider -

    Kann ich mir noch anschauen. ;)

  • he4dh4ntrz -

    Hey Matze!
    Wie wäre es alternativ noch mit einem Tutorial für Administrative Rechte?

    LG
    he4d