Anzeigeeinstellung von Bildern/Dateien in Views "auswerten"
am 12.12.2010 - 19:59 Uhr in
Hallo!
Ich habe mit imagefield ein CCK-Feld erstellt und lasse Bilder zu einem node hochladen. Für das Feld kann ich einstellen, ob dem User eine Möglichkeit geboten wird, diese Bilder auch für andere anzeigen zu lassen. So weit so gut - für die normale node-Anzeige funktioniert das auch.
Ich zeige die nodes dieses Typs allerdings mit Panels/View Panes an und habe hier z.B. für die Bildanzeige ein eigenes View Pane erstellt. Als Zeilendesign habe ich "Felder" gewählt und mehrere Felder inklusive des Bilderfeldes definiert. Leider wird in dem View Pane aber die "Veröffentlichungseinstellung" ignoriert, d.h. der View Pane zeigt immer alle Bilder an.
Auch mein zweiter Ansatz mit Content_Privacy hat keinen Erfolg gebracht - auch hier hat der User eine Checkbox "Bilder nicht veröffentlichen", der View Pane zeigt trotzdem den Inhalt des Bilderfeldes an...
Views scheint hier weder die Einstellungen aus "Listenansicht", noch die Privacy Einstellungen von content_privacy zu berücksichtigen. Wenn ich hier über ein extra "boolean" CCK-Feld (für "anzeigen ja/nein") arbeite und einen Filter darauf setze, würde ja immer der gesamte View Pane angezeigt/nicht angezeigt - über Filter komme ich aber nicht an die Steuerung für das eine Feld ran.
Die Steuerung für dieses Feld (bzw. sogar bis auf die einzelnen Elemente des Feldes herunter) ist ja sogar da - nur wie bringe ich Views dazu, das bei der Anzeige des Feldes zu berücksichtigen?
- Anmelden oder Registrieren um Kommentare zu schreiben
Hast Du das auch mal mit
am 12.12.2010 - 22:05 Uhr
Hast Du das auch mal mit einer "normalen" UserID getested? Der user1 darf automatisch alles und sieht daher diese Bilder immer. Es würde mich wundern, wenn die Zugriffsrechte in Views ignoriert würden.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Workaround
am 13.12.2010 - 09:49 Uhr
Hallo Werner,
ja, habe ich getestet... ich habe eigentlich grundsätzlich mind. 2 Browser mit unterschiedlichen Usern laufen, um genau diese Effekte zu testen.
Problem wird wohl sein, daß ich die Inhalte als "Felder" anzeigen lasse und nicht als node (Beitrag) - bei der Felddarstellung wird das Feld wohl einfach ungeprüft angezeigt, die "Veröffentlichungseinstellungen" (aus imagefield, bzw. content_privacy heraus) greifen offensichtlich nur bei der Darstellung als "normaler node" oder vielleicht auch als node innerhalb von views. Das hilft mir aber nicht, da ich nur genau die einzelnen 3 Felder aus ca. 50CCK Feldern des Content Type anzeigen möchte.
Mein aktueller Workaround für diese Geschichte:
Zu allen Elementen, bei denen ich die Veröffentlichung vom User steuern lassen möchte, baue ich noch jeweils ein eigenes CCK Feld (Integer> eine Auswahl> Veröffentlichen JA/NEIN)
In Views baue ich dann auch jeweils ein eigenes View Pane pro Element und filtere über das Integer-Feld, ob es für alle sichtbar ist oder nicht.
In Panels ordne ich dann die ganzen Elemente-View-Panes an, damit sie alle (also die veröffentlichten) wieder untereinander erscheinen.
Vom Ergebnis her genau das, was ich wollte. Nur scheint mir der "Overhead" etwas blöd, da es ja eigentlich schon Steuerungen bzgl. Veröffentlichung gibt und ich hier mit meinem boolean CCK Feld noch eine dritte Variante einbaue.
Zur Verdeutlichung, um welche Elemente es konkret geht: Ich habe im Contenttype ein Hauptfoto, weitere 5 optionale Fotos und 3 optionale Dokumente. Diese 3 Dinge sind je 1 CCK-Feld mit den jeweiligen Einstellungen. Hauptfoto ist Pflicht und wird auch immer veröffentlicht, bei den weiteren Fotos und Dokumenten soll der User entscheiden können, ob diese für alle sichtbar sind. Normalerweise würde ich diese 3 Felder (sofern auf sichtbar gestellt) dann einfach in einem Pane untereinander anzeigen und gut... So muß ich halt 3 Panes daraus machen, von denen #2+3 ein eigenes "Veröffentlichungsfeld" zum Filtern bekommen. Wollte ich jetzt noch auf Einzelfotos/-dokumente steuern können, müsste ich sogar 9 Panes erstellen (Hauptfoto immer anzeigen, die anderen 8 steuerbar...).
Also wie erwähnt aus meiner Sicht bisher nur ein Workaround - daher markiere ich das Thema auch noch nicht als gelöst.
Bin für Ideen weiterhin dankbar!
Zitat: Für das Feld kann ich
am 13.12.2010 - 10:50 Uhr
Für das Feld kann ich einstellen, ob dem User eine Möglichkeit geboten wird, diese Bilder auch für andere anzeigen zu lassen. So weit so gut - für die normale node-Anzeige funktioniert das auch.
Wie hattest du das denn realisiert?
Hast du schon versucht: http://drupal.org/project/cck_private_fields
-----------
Luca Curella
Kooperative Netze - Berlin
Also bisher habe ich einmal
am 13.12.2010 - 11:15 Uhr
Also bisher habe ich einmal content_privacy im Einsatz (hatte ich installiert, um Daten aus den Userprofilen steuern zu können). Weiter bringt wohl auch imagefield noch eine Steuerung mit, die hochgeladenen Bilder zu veröffentlichen oder nicht (das nennt sich dort übersetzt "Listenfeld" und macht n.m.E. etwas vergleichbares wie content_privacy).
Ich werde mir cck_private_fields aber mal ansehen - auch wenn mir etwas unwohl ist, in der Gesamtinstallation mehrere Module zu haben, die alle ähnliches oder gleiches machen...
Aber schon mal danke für die Anregung!
Wenn Du bei CCK das Modul
am 13.12.2010 - 11:17 Uhr
Wenn Du bei CCK das Modul Content-Access aktivierst, kannst/mußt Du die Berechtigungen auch auf Feld-Level setzen. Dann werden die Felder bei fehlender Berechtigung auch in Views nicht gezeigt. Das habe ich schon mal unabsichtlich getested.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Ich würde auch vermeiden
am 13.12.2010 - 11:25 Uhr
Ich würde auch vermeiden mehrere Access-Module parallel zu verwenden sondern mich für eines entscheiden.
-----------
Luca Curella
Kooperative Netze - Berlin
Nochmal die korrekte Modulangabe...
am 13.12.2010 - 11:40 Uhr
@Werner: Du meinst hier die Rollenbasierten Berechtigungen - oder? Die sind schon so gesetzt, daß auth user den Inhalt grundsätzlich sehen dürfen... nur sollen halt die User bestimmen können, ob Sie einzelnde dieser Felder nicht doch für andere verbergen. Das ist dann aber node-spezifisch und nicht nur eine Einstellung für das Feld an sich.
@all: Zum verwendeten Modul folgende Richtigstellung/Präzisierung... (hat mich gerade selbst verwirrt...). Das Modul nennt sich korrekt CCK Privacy, tauchte im Verzeichnis aber nur als privacy auf und im Admin Menü unter "Content Privacy" - daher meine verwirrende Angabe zum Modulnamen... also im Einsatz ist http://drupal.org/project/privacy/
Ja, Content Access arbeitet
am 13.12.2010 - 12:59 Uhr
Ja, Content Access arbeitet mit rollenbasierten Berechtigungen.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *