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

[gelöst] Werte eines CCK-Nodereference Felds einschränken

Eingetragen von Chinees (14)
am 24.10.2010 - 11:56 Uhr in
  • Views
  • Drupal 6.x

Hallo!

Wie kann ich denn bestimmten Usern beim Bearbeiten eines CCK-Nodereference-Felds nur bestimmte Werte erlauben?

Ungefähr so: Contenttyp A enthält Referenz zu Typ B. Es existieren die Inhalte a1, b1, b2, b3. Beim Bearbeiten von a1 darf User1 dann nur b1 oder b2 referenzieren, User2 nur b2 oder b3, User3 alle bs etc...

Vielen Dank schonmal!
Chinees

‹ Ansichten-Template views-view.tpl.php trotzdem aufrufen wenn DB-Abfrage leeres Ergebnis liefert [gelöst] Views Umgebungssuche + Tax Term Filter Fehler ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Du kannst bei Node-References

Eingetragen von SteffenR@drupal.org (2262)
am 25.10.2010 - 12:08 Uhr

Du kannst bei Node-References auch Views als "Source" für die Daten nutzen. Über Views sollte man dann diese rechtlichen Sachen genauer definieren können ( hier gibt es dann ja die Möglichkeit Berechtigungen für die Anzeige zu setzen ).. Theoretisch sollte deine Anforderung dann umsetzbar sein.

SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi Steffen! Hab ich heute

Eingetragen von Chinees (14)
am 26.10.2010 - 23:46 Uhr

Hi Steffen!

Hab ich heute ausprobiert und mir eine entsprechende View erstellt. Als Argument übergebe ich die ID des Benutzerprofils (ich verwende content_profile). Dann hab ich "bei Argument nicht vorhanden -> Standardargument zur Verfügung stellen -> PHP-Code" eingestellt:

<?php

$arg
= content_profile_load('user_profile', $user->uid)->nid;
return
$arg;
?>

Wenn ich die View direkt aufrufe und die ID eines Content-Profiles an die Url anhänge funktioniert das Argument. Aber wenn ich nichts angebe, funktioniert der obige PHP-Code nicht. Hab etwas rumgespielt und es sieht so aus, als bekäme die View als Argument die ID des Content-Profiles von user1.
EDIT: Hm jetzt wird ohne Argument eine leere View zurückgeliefert, vielleicht wars ein Cache-Problem. Jedenfalls immer noch nicht was ich möchte -.-

Eigentlich möchte ich das Argument auch nur für eine bestimmte Rolle so anpassen, der Rest soll "all" bekommen. Wenn ich allerdings das hier verwende

<?php
 
if(in_array('Rolle1', $user->roles)){
   
$arg = content_profile_load('user_profile', $user->uid)->nid;
  }else{
   
$arg = 'all';
  }
?>

bekomme ich diesen Fehler:
warning: in_array() [function.in-array]: Wrong datatype for second argument in /var/www/vhosts/mydomain.com/httpdocs/sites/default/modules/views/plugins/views_plugin_argument_default_php.inc(48) : eval()'d code on line 3.

Was mache ich verkehrt?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Debug

Eingetragen von stBorchert (6003)
am 27.10.2010 - 07:05 Uhr

Hallo.

Chinees schrieb

<?php $arg = content_profile_load('user_profile', $user->uid)->nid; ?>

Lass Dir doch mal ausgeben, was dort zurückkommt.
Ich wage zu bezweifeln, dasd Du das gewünschte Ergebnis bekommst.

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn ich

Eingetragen von Chinees (14)
am 27.10.2010 - 08:03 Uhr

Wenn ich dpm(content_profile_load('user_profile', $user->uid)->nid); ins Views-Template schreibe und die View direkt aufrufe, bekomme ich was ich brauche.

Wenn ich es allerdings direkt in den PHP-Code fürs Standardargument schreibe, funktionierts nicht. Und wenn ich $user ausgeben will, ist es leer.
Der obigen Warning nach zu schließen wird der Code ja in /sites/default/modules/views/plugins/views_plugin_argument_default_php.inc ausgewertet. Kann ich von dort aus irgendwie anders als mit $user an den eingeloggten user herankommen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

$user

Eingetragen von stBorchert (6003)
am 27.10.2010 - 08:18 Uhr

Wo bekommst Du denn $user her?
Hast Du <?php global $user; ?> vor den Aufruf geschrieben? Ansonsten existiert die Variable an der Stelle nämlich überhaupt nicht.

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nein hatte ich nicht -.- Mit

Eingetragen von Chinees (14)
am 27.10.2010 - 08:29 Uhr

Nein hatte ich nicht -.- Mit

<?php
global $user;
?>
funktionierts genau wie es soll.

Danke!!!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • gepatchte PHP Version 7.4 für Windows
  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
Weiter

Neue Kommentare

  • Muss ja nicht genau php 8.3 sein
    vor 1 Woche 4 Tagen
  • Guten morgen und Danke
    vor 1 Woche 4 Tagen
  • Evtl. versuchen auf PHP 8 zu wechseln
    vor 1 Woche 4 Tagen
  • Danke Schmittrich. Die Frage
    vor 1 Woche 6 Tagen
  • Keine Antwort auf die Frage nach dem Woher
    vor 1 Woche 6 Tagen
  • Danke ich werde mir die
    vor 7 Wochen 4 Tagen
  • Vielen Dank für Ihren
    vor 8 Wochen 4 Stunden
  • Composer ist sehr ratsam
    vor 8 Wochen 2 Tagen
  • Vielen Dank für den
    vor 8 Wochen 4 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 8 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250323
Registrierte User: 20572

Neue User:

  • alxshell
  • AnthonyhoF
  • Philiphelve

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 13 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