Views und Zugriffsrechte
am 11.11.2008 - 10:36 Uhr in
Hallo,
ich möchte für eine nicht öffentliche Webseite (nur angemeldete Mitglieder können Inhalte lesen) eine Startseite mit Views bauen. Auf der Seite sollen nicht angemeldete User nur die Site-Mission sehen und sonst nichts, angemeldete User sollen die letzten News lesen können.
Eigentlich dachte ich ja das funktioniert ganz einfach und habe den Zugriff auf die Berechtigung "access content" gesetzt, die Gäste eben auf dieser Seite nicht haben. Funktioniert in der Theorie auch, hat aber den unangenehmen Nebeneffekt, dass dann unter der Site-Mission "Zugriff verweigert" steht, bei angemeldeten Usern funktioniert es natürlich.
Kann man da vielleicht mit Argumenten was machen? Hab das zwar probiert, aber irgendwie nicht so ganz hin gekriegt. Irgendwelche Ideen???
Viele Grüße aus München,
Jürgen
- Anmelden oder Registrieren um Kommentare zu schreiben
Nodeaccess
am 11.11.2008 - 13:39 Uhr
Mit dem Modul Nodeaccess kannst du einstellen, welche Rollen Nodes eines bestimmten Typs sehen dürfen. Das kannst du für deine Anforderungen so verwenden:
Wenn jetzt ein View ausgeführt wird, dann werden die Informationen von Drupals Node-Access-System (nicht zu verwechsel mit dem Nodeaccess-Modul) mit einbezogen, um zu entscheiden, ob ein Node aufgelistet wird oder nicht. Da das Nodeaccess-Modul Zugriffsberechtigungen unter Verwendung von Drupals Node-Access-System speichert sollte das Ergebnis der View-Ausführung für Gäste leer sein.
Drupal hat ein sehr leistugsstarkes Node-Access-System; so leistungsstark, das es sich jedem Versuch entzieht, dafür ein GUI bereitszustellen. Aber dafür wurde es wahrscheilich auch garnicht ausgelegt. Es soll von Modulen verwendet werden.
--
Den View mit Rechten versehen + Panel verwenden
am 11.11.2008 - 14:36 Uhr
Man kann den View selbst mit Rechten versehen.
Wenn also der View fuer die Startseite von einem nicht eingeloggten Besucher nicht gesehen werden darf zeigt der View diesem Besucher seine Ausgabe nicht.
Wenn in diesem Fall die "Site-Mission" fuer nicht eingeloggte Besucher sichtbar ist dann ist sie der einzige angezeigte Inhalt auf der Startseite.
Allerdings funktioniert dies so nur wenn Du ein Panel als Starseite definierst. Das Panel bekommt als Startseite die URL des ursprunglichen Startseiten-View.
Die URL des Startseiten-View benennst Du um.
Im oberen Teil des Panel Layout die Inhalte fuer alle User.
Im unteren Teil des Panel Layout die Inhalte fuer eingeloggte User.
Die "Site-Mission" befindet sich also im oberen Bereich des Panel.
Wen Du nun noch im Panel die Rechte der Inhalte im oberen Bereich entgegengesetzt der Rechte des Views definierst wird die "Site-Mission" den eingeloggten Usern nicht angezeigt.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.