Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

PHP-Abfrage zur Anzeige der eigenen Gruppe

Eingetragen von Tux90 (16)
am 21.10.2009 - 05:59 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo,

ich habe meine Gruppen und Berechtigungen nach dieser Anleitung aufgebaut:

Ganz unten in der Anleitung gibt es ein PHP-Block der alle vorhandenen Gruppen anzeigt:

<?php
$vid
= 1;  //The vid is the vocabulary id of the Groups  we wish to list the terms from
$items = array();
$terms = taxonomy_get_tree($vid);
foreach (
$terms as $term ) {
$items[] = l($term->name, 'taxonomy/term/' . $term->tid);
}
if (
count($items) ) {print theme('item_list', $items);}
?>
;

Nun, gibt es eine Möglichkeit diesen Block so umzubauen, dass nur noch die Gruppe (Gruppen) angezeigt werden, zu der man gehört??

Danke schonmal im Voraus

Gruß Tux90

‹ nur 32MB memory_limit, K.O.-kriterium für drupal !? Fehler Call to undefined function phptemplate_body_class() ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Brauchst du da zwingend PHP?

Eingetragen von netzkoop (1820)
am 21.10.2009 - 07:43 Uhr

Brauchst du da zwingend PHP? Sonst gibt es schon von Haus aus einen Block "Meine Gruppen" unter
admin/build/block

  • Anmelden oder Registrieren um Kommentare zu schreiben

PHP

Eingetragen von Tux90 (16)
am 21.10.2009 - 11:12 Uhr

Diesen Block gibt es bei mir nicht. Nur den, den ich selbst erstellt habe und mit dem PHP-Code hinterlegt ist.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Tux90 schrieb ich habe

Eingetragen von traxer (1009)
am 21.10.2009 - 12:15 Uhr
Tux90 schrieb

ich habe meine Gruppen und Berechtigungen nach dieser Anleitung aufgebaut:

Für alle die es nicht mitbekommen haben, aber dennoch Interesse an der Anleitung haben: Anleitung

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Tux90 schrieb Nun, gibt es

Eingetragen von traxer (1009)
am 21.10.2009 - 13:00 Uhr
luzer schrieb

Sonst gibt es schon von Haus aus einen Block "Meine Gruppen" unter admin/build/block

Tux90 verwendet keine Organic Groups.

Tux90 schrieb

Nun, gibt es eine Möglichkeit diesen Block so umzubauen, dass nur noch die Gruppe (Gruppen) angezeigt werden, zu der man gehört??

Nicht mit einfachen Mitteln. Es wird nirgends gespeichert, zu welchen Gruppen ein Benutzer gehört. Es wird lediglich gespeichert, zu welchen Rollen der Benutzer gehört und daraus werden Zugriffsrechte abgeleitet.

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

=)

Eingetragen von Tux90 (16)
am 21.10.2009 - 13:17 Uhr

mir war klar, dass es nicht mit einfachen Mitteln geht.
Vielleicht über mehrere Tabellen zu Ziel??

  • Anmelden oder Registrieren um Kommentare zu schreiben

So jetzt hab ich auch mal

Eingetragen von netzkoop (1820)
am 22.10.2009 - 10:29 Uhr

So jetzt hab ich auch mal die Anleitung gelesen :-)
Die Rollennamen des Users entsprechen doch den Termnamen wenn ich es richtig verstanden habe...
So müsste es eigentlich klappen:

<?php

global $user;
$rolenames = array_values($user->roles); 

$vid = 1;  //The vid is the vocabulary id of the Groups  we wish to list the terms from
$items = array();
$terms = taxonomy_get_tree($vid);
foreach (
$terms as $term ) {

  if (
in_array($term->name, $rolenames)) {
   
$items[] = l($term->name, 'taxonomy/term/' . $term->tid);
  }
}
if (
count($items) ) {print theme('item_list', $items);}
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

luzer schrieb Die

Eingetragen von traxer (1009)
am 22.10.2009 - 11:28 Uhr
luzer schrieb

Die Rollennamen des Users entsprechen doch den Termnamen wenn ich es richtig verstanden habe...

Wenn das bei dir so ist, dann ist gut. Technisch gesehen ist das aber nicht notwendig. Wenn sich Rollennamen und Termnamen unterscheiden (oder allgemein um deinen Code etwas robuster zu machen), müsstest du anhand der Datenbanktabellen der Module user, taxonomy und taxonomy_access herausfinden ob der Benutzer z.B. private Beiträge einer Gruppe lesen darf.

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke

Eingetragen von Tux90 (16)
am 23.10.2009 - 07:29 Uhr

Hey Luzer,
danke. Der Code hat funktioniert. Jeder Benutzer bekommt jetzt nur noch die Gruppe angezeigt, zu der er gehört.
Jetzt habe aber ich das Problem, dass ich mit meinem Benutzernamen keiner speziellen Gruppe angehöre, sonder alle angezeigt haben möchte ("root" Verwalter).
Kann man das noch irgendwie mit einbauen, dass die Rolle "root" die ich angelegt habe, alle Gruppen sieht?

Danke und Gruß

  • Anmelden oder Registrieren um Kommentare zu schreiben

Müsste so

Eingetragen von netzkoop (1820)
am 26.10.2009 - 19:33 Uhr

Müsste so funktionieren:

<?php
global $user;
// Die Rollen des Users
$rolenames = array_values($user->roles);
// Ausnahmen
$special = array('root');
// Rollen fuer die nur die eigenen Gruppen angezeigt werden
$check_this = array_diff($rolenames, $special);

$vid = 1;  //The vid is the vocabulary id of the Groups  we wish to list the terms from
$items = array();
$terms = taxonomy_get_tree($vid);
foreach (
$terms as $term ) {

  if (
in_array($term->name, $check_this)) {
   
$items[] = l($term->name, 'taxonomy/term/' . $term->tid);
  }
}
if (
count($items) ) {print theme('item_list', $items);}
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

traxer schrieb Wenn das bei

Eingetragen von netzkoop (1820)
am 26.10.2009 - 19:42 Uhr
"traxer" schrieb

Wenn das bei dir so ist, dann ist gut. Technisch gesehen ist das aber nicht notwendig.

Stimmt wohl aber die Anleitung sagt:

Zitat:

"Groups As Roles": there must be a one-to-one relationship between the terms in our Groups vocabulary and corresponding roles. We need a role for each of our groups.

Und man muss doch nicht päpstlicher sein als der Papst...

  • Anmelden oder Registrieren um Kommentare zu schreiben

luzer schrieb man muss doch

Eingetragen von traxer (1009)
am 26.10.2009 - 19:56 Uhr
luzer schrieb

man muss doch nicht päpstlicher sein als der Papst...

Nein, aber man sollte sich der Konsequenzen bewusst sein.

--
XING

  • 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?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

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

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» 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 1 Benutzer und 7 Gäste online.

Benutzer online

  • wla

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