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

Unterschiedlicher Header im View für verschiedene Benutzerrollen

Eingetragen von towelie (85)
am 09.10.2009 - 12:18 Uhr in
  • Views
  • Drupal 6.x

Hallo,

ich habe einen View, der Inhalte eines speziellen Inhaltstypen anzeigt. Der Gast kann die Inhalte eingeschränkt (nicht alle CCK-Felder) sehen, Benutzerrolle Nr.1 kann Inhalte erstellen und Benutzerrolle Nr. 2 kann die Inhalte uneingeschränkt (alle CCK-Felder) sehen. Nun habe ich im Kopfbereich des View eine kleine Einleitung mit Link zur Registrierung. Ist es möglich, dass für die beiden Benutzerrollen nun ein anderer Kopfbereich angezeigt wird? Ein Link zur Registrierung macht natürlich für einen User nun keinen Sinn mehr, eher ein Link um einen Beitrag zu erstellen.

Gruß

towelie

‹ Kein IMCE Popup mehr, wenn die Seite durch Vorschau/pflichtfeld vergessen neu geladen wird Tabelle mit mehreren CCK-Feldern aus einer Node abbilden ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

php

Eingetragen von Nicolai Schwarz (1071)
am 09.10.2009 - 17:26 Uhr

Im Kopfbereich des Views per php die Benutzerrolle abfragen und dementsprechend andere Inhalte ausgeben.

Etwa mit:

<?php
global $user;
if(
array_key_exists('entsprechende Rolle', $user->roles) {
.....

}
?>

--
textformer mediendesign | Webkrauts

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die schnelle

Eingetragen von towelie (85)
am 09.10.2009 - 19:36 Uhr

Danke für die schnelle Antwort, nur leider klappt das nicht so ganz. Drupal spuckt mir folgende Fehlermeldung aus:

Parse error: syntax error, unexpected '{' in /.../includes/common.inc(1685) : eval()'d code on line 3

Für die "entsprechende Rolle" habe ich versucht den Namen der Rolle und die Id einzusetzen...

  • Anmelden oder Registrieren um Kommentare zu schreiben

php?

Eingetragen von Nicolai Schwarz (1071)
am 09.10.2009 - 19:49 Uhr

Hmm, hast du die php-Option aktiviert und das richtige Format für den Filter im Kopfbereich vergeben? Ansonsten sieht das nach einem Tippfehler aus. Poste hier einfach mal deinen Code, dann schauen wir drüber.

--
textformer mediendesign | Webkrauts

  • Anmelden oder Registrieren um Kommentare zu schreiben

Jep, PHP Filter Modul ist

Eingetragen von towelie (85)
am 09.10.2009 - 20:09 Uhr

Jep, PHP Filter Modul ist aktiviert und auch im Kopfbereich ausgewählt. Habe leider keine Ahnung von PHP, aber vielleicht ist es auch einfach falsch direkt den Namen der Rolle anzugeben?

<?php
global $user;
if(
array_key_exists('Gast', $user->roles) {
Test
}
?>

Die User Logged In Abfrage funktioniert übrigens, reicht mir aber nicht, da ich ja zwei verschiedene Rollen für registrierte Benutzer habe ;)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Rollen

Eingetragen von stBorchert (6003)
am 09.10.2009 - 22:12 Uhr

Moin.
$user->roles enthält die Rollen des Benutzers als einfaches Array mit numerischen Schlüsseln. Dementsprechend dürfte array_key_exists nicht das gewünschte Ergebnis liefern.

Probiers mal mit folgendem Code:

<?php
$global $user
;
if (
in_array($user->roles, 'Gast')) {
  print
t('Hello, guest.');
}
elseif (
in_array($user->roles, 'moderator')) {
  print
t('Hello, moderator!');
}
?>

hth,

 Stefan

--
sei nett zu Deinem Themer

Wir brauchen Deine Stimme für die DrupalCon 2010 oder 2011 in Berlin!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hey, leider funktioniert

Eingetragen von towelie (85)
am 09.10.2009 - 23:45 Uhr

Hey,

leider funktioniert auch das nicht. Diesmal heißt es:

Parse error: syntax error, unexpected T_VARIABLE in /.../includes/common.inc(1685) : eval()'d code on line 2

Auch wenn ich nur den if Teil nehme und elseif weglasse...

  • Anmelden oder Registrieren um Kommentare zu schreiben

global

Eingetragen von stBorchert (6003)
am 10.10.2009 - 09:25 Uhr

Ja, da hat sich ein $ zuviel eingeschlichen.
Richtig muss es global $user heissen.

 Stefan

--
sei nett zu Deinem Themer

Wir brauchen Deine Stimme für die DrupalCon 2010 oder 2011 in Berlin!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Auch nicht, diesmal:

Eingetragen von towelie (85)
am 10.10.2009 - 12:30 Uhr

Auch nicht, diesmal:

* warning: in_array() [function.in-array]: Wrong datatype for second argument in /.../includes/common.inc(1685) : eval()'d code on line 3.
* warning: in_array() [function.in-array]: Wrong datatype for second argument in /.../includes/common.inc(1685) : eval()'d code on line 6.

Hab noch versucht eine else Schleife dranzufügen, bringt aber auch nichts. Wenn ich doch nur ein Fünkchen Ahnung von PHP/Javascript hätte...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wrong datatype for second argument in ...

Eingetragen von quiptime (4972)
am 10.10.2009 - 13:09 Uhr

in_array() [function.in-array]: Wrong datatype for second argument in ...

Die PHP Funktion in_array() erwartet als 1. Parameter den Wert der im Array gefunden werden soll und als 2. Parameter das Array in dem der Wert sein koennte. Daraus ergibt sich:

<?php
global $user;
 
if (
in_array( 'Gast', $user->roles)) {
  print
t('Hello, guest.');
}
elseif (
in_array( 'moderator', $user->roles,)) {
  print
t('Hello, moderator!');
}
?>

Problematisch finde ich nach den Bezeichnungen der Rollen zu fragen. Besser ist es die Id's der Rollen zu verwenden. Damit schliesst man Probleme in nichtenglischen Drupalsite aus wenn die Ubersetzung einer Bezeichnung einer Rolle geaendert wird.

PS
http://php.net/in_array

------------------------
Quiptime Group

  • Anmelden oder Registrieren um Kommentare zu schreiben

Super, nun funktioniert es!

Eingetragen von towelie (85)
am 10.10.2009 - 14:37 Uhr

Super, nun funktioniert es! Die Rolle "Gast" wurde allerdings ignoriert. Habe es dann einfach so gelöst:

<?php
global $user;

if (
in_array( 'Benutzerrolle1', $user->roles)) {
  print
t('Hallo Benutzerrolle1');
}
elseif (
in_array( 'Benutzerrolle2', $user->roles)) {
  print
t('Hallo Benutzerrolle2');
}
else
{
  print
t('Hallo Gast');
}

?>

Danke für eure Hilfe! :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • wmtbpo361x
  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • 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
Weiter

Neue Kommentare

  • Rollen
    vor 5 Tagen 5 Stunden
  • Inzwischen sind wir bei
    vor 2 Wochen 1 Tag
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Wochen 2 Tagen
  • melde mich mal wieder, da ich
    vor 9 Wochen 6 Tagen
  • Hey danke
    vor 10 Wochen 13 Stunden
  • Update: jetzt gibt's ein
    vor 10 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 11 Wochen 3 Tagen
  • In der entsprechenden View
    vor 11 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250238
Registrierte User: 20467

Neue User:

  • LorisBen
  • StevenEness
  • ocvk2810

» 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 28 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