Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Views ›

Zugriffsrechte auf einzelne Felder

Eingetragen von benny1979 (119)
am 21.11.2009 - 01:21 Uhr in
  • Views
  • Drupal 6.x

Hallo,

ich habe einen Inhaltstypen, der einige CCK-Felder enthält, die nicht jeder sofort sehen darf.
Gibt es eine Möglichkeit die Zugriffsrechte pro Feld pro Node pro User einzustellen? Ich habe bisher nur "field permissions" gefunden und da geht es nur pro Rolle. Ich kann aber nicht für jeden Datensatz eine Rolle anlegen und es ist nicht automatisch so, daß UserA, der alle Felder bei NodeX sehen darf, das auch bei NodyY darf.

Kennt dafür jemand eine Lösung?

VG,
Benny

‹ Beitragsreferenz Link auf mehrere Elemente generieren Exposed Filter als Select-Dropdown ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Zugriff für einzelne Benutzer auf Felder/Nodes

Eingetragen von Frank Ralf (2135)
am 23.11.2009 - 18:39 Uhr

Hallo Benny,

guck dir doch mal die Module Node Access User Reference und Content Access an, ob das was Passendes ist. (Dort lohnt auch immer ein Blick auf die "Related Modules".)

Gruß
Frank

XING
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kannst du darauf noch näher

Eingetragen von Lucidity (nicht überprüft) (0)
am 14.01.2010 - 22:03 Uhr

Kannst du darauf noch näher eingehen? Ich habe es noch nicht geschafft die Zugriffsrechte einzelner Felder mit Content Access zu regeln.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kompliziert

Eingetragen von Nicolai Schwarz (1071)
am 14.01.2010 - 22:45 Uhr

Hört sich kompliziert an. Ich würde vermutlich unterschiedliche Inhaltytspen anlegen (Felder, die gleich genutzt werden, müssten jeweils andere Namen bekommen). Durch verschiedene Rollen und "Content Permissions" (unter CCK) kannst du dann alle Fälle abdecken. Auch wenn es recht unübersichtlich werden kann...
Kommt darauf an, wieviele unterschiedliche User, Nodes, Fälle bei dir vorkommen können.

--
textformer mediendesign | Webkrauts

  • Anmelden oder Registrieren um Kommentare zu schreiben

So wie beschrieben habe ich

Eingetragen von Lucidity (nicht überprüft) (0)
am 15.01.2010 - 21:43 Uhr

So wie beschrieben habe ich es nicht verstanden. Aber kann ich es nicht so ungefähr lösen:

<?php
if ( $user->uid ) { print : $field_email; }
?>

Für das Feld "email". Bei mir klappt es nicht, aber vielleicht ist der Ansatz richtig?!

  • Anmelden oder Registrieren um Kommentare zu schreiben

@Lucidity

Eingetragen von Nicolai Schwarz (1071)
am 15.01.2010 - 22:30 Uhr

@Lucidity: Das so für alle Nodes, User und Felder zu programmieren, hört sich viel zu aufwändig an.
Und der Term müsste vermutlich eher print $field_email[0]['view']; lauten.

--
textformer mediendesign | Webkrauts

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich brauch es aber nur für

Eingetragen von Lucidity (nicht überprüft) (0)
am 15.01.2010 - 22:19 Uhr

Ich brauch es aber nur für ein Node und 2 Felder. Ich probier den Code übermorgen aus.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Weder <?php print

Eingetragen von Lucidity (nicht überprüft) (0)
am 16.01.2010 - 20:26 Uhr

Weder

<?php
print $field_email[0]['view'];
?>

noch
<?php
if ( $user->uid ) { print $field_email[0]['view']; }
?>

funktioniert

  • Anmelden oder Registrieren um Kommentare zu schreiben

Korrekter Term

Eingetragen von Nicolai Schwarz (1071)
am 16.01.2010 - 20:55 Uhr

Ähm, ein Term wie field_email kann nur funktionieren, wenn eines deiner Felder so heißt. Schau mal bei den Feldern des Inhaltstypen nach, welche Bezeichnung deine Felder haben. Bei Textfeldern sollte die Syntax passen. Bei anderen Feldern mag die Syntax anders aussehen. Kannst du auch mit print_r($node); rausfinden.

Und $user->uid alleine macht in der if-Abfrage nicht viel. Du müsstest es sinnvollerweise schon irgendwie vergleichen. Mit dem Code oben fragst du meines Wissens nur ab, ob der Wert existiert.

--
textformer mediendesign | Webkrauts

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das Field Email hab ich

Eingetragen von Lucidity (nicht überprüft) (0)
am 16.01.2010 - 23:44 Uhr

Das Field Email hab ich natürlich;)
wenn ich sowas wie if $user->uid Print 'hallo'; (ich hab jetzt gerade nicht auf korrekte Zeichensetzung geachtet) habe , wird "Hallo" nur ausgegeben wenn ich eingeloggt bin.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Natürlich

Eingetragen von Nicolai Schwarz (1071)
am 17.01.2010 - 01:01 Uhr

Ja, natürlich wird da nur was ausgegeben, wenn du eingeloggt bist. Nur in dem Fall ist nämlich $user->uid erfüllt. Du bist nicht wirklich fit in php, oder? Ich bin da auch kein Experte, aber wie ich geschrieben habe: Du musst $user->uid mit irgendwas vergleichen, etwa $user->uid == 1.
Ich kann mir hier aber nicht vorstellen, dass das ein guter Weg ist. Du musst dann nämlich mit jeder Menge User-IDs jonglieren. Lass erst einmal die if-Abfrage weg und schau, dass das E-Mail-Feld richtig angezeigt wird.

Aber: Ich bin mir gar nicht sicher, was du überhaupt brauchst. Die ursprüngliche Frage kam von benny1979, aber was genau willst du (Lucidity) bewerkstelligen?

--
textformer mediendesign | Webkrauts

  • Anmelden oder Registrieren um Kommentare zu schreiben

Bei mir können Gäste auch

Eingetragen von Lucidity (nicht überprüft) (0)
am 17.01.2010 - 11:36 Uhr

Bei mir können Gäste auch Inhalte erstellen, müssen aber Name und e-Mail Adresse angeben und das soll natürlich nur ich als Admin (bzw user, da es keiner anderen user gibt) sehen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also

Eingetragen von Nicolai Schwarz (1071)
am 17.01.2010 - 15:47 Uhr

a) Mach es erst einmal ohne if-Anweisung. Wenn print $field_email[0]['view']; nicht klappt, nutze print_r($node); um dir anzusehen, wie der Ausdruck für das E-Mail-Feld lauten muss.
b) In der if-Abfrage kannst du so etwas wie if ($user->uid == 1) {...} nutzen. Unter der Voraussetzung, dass du jener User mit der ID=1 bist. Wenn du der einzige User bist, dürfte aber tatsächlich if ($user->uid) {...} reichen.

--
textformer mediendesign | Webkrauts

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hat jetzt alles wunderbar

Eingetragen von Lucidity (nicht überprüft) (0)
am 18.01.2010 - 12:31 Uhr

Hat jetzt alles wunderbar geklappt. Vielen Dank.
Geht das gleiche auch für Tags? D.h. "print $tag_no1" oder sowas?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Ветошь для протирки оборудования
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 5 Tagen
  • Hey danke
    vor 2 Wochen 5 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 3 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 4 Wochen 1 Tag
  • In der entsprechenden View
    vor 4 Wochen 1 Tag
  • Dazu müsstest Du vermutlich
    vor 4 Wochen 1 Tag
  • gelöst
    vor 6 Wochen 5 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250234
Registrierte User: 20455

Neue User:

  • JoMek
  • Znogsnernoimb
  • ByteScrapers

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 24 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association