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

Links in Beiträgen abhängig von Benutzerdaten gestalten (conditional links, Rollen-abhängige Links)

Eingetragen von Passiflora (4)
am 02.05.2016 - 14:32 Uhr in
  • Allgemeines zu Drupal
  • Drupal 7.x oder neuer

Hallo

Ich habe Stunden recherchiert, aber komme auf keinen grünen Zweig und hoffe daher auf Eure Hilfe:

Ziel: In den Benutzerprofilen gibt es ein zusätzliches Feld "Autoclubnr." Auf verschiedenen Basisseiten sind Links zu weiterführenden Seiten (z.B. Formularen oder Produkten) enthalten. Hat jemand im Feld Autoclubnr. eine Mitgliedsnr. eingetragen, sollen ihm jeweils andere Links angezeigt werden als jemandem, der kein Mitglied ist.
Idealerweise sollten die Links als Weiche erscheinen. Bei webform kennt man dies als conditionals, also wenn dies dann das. Nur finde ich keinen Weg, Links quasi als conditional links zu verwenden.

Bisherige Ideen:
- doppelte Seiten für Mitglieder/Nichtmitglieder und getrennte Menüführung -> sehr aufwändig und mit der Gefahr, dass bei Inhaltsänderungen diese nicht überall stattfinden
- Verknüpfung von User-Rollen mit der Mitgliedsnr. -> löst das Problem mit dem variablen Link innerhalb einer Seite nicht
- Modul Rules_Link -> blicke ich überhaupt nicht durch, ob und wie es damit zu lösen wäre

‹ Drupal8 - Image upload per RestAPI Registrierung ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

conditional fields ist die

Eingetragen von caw (2762)
am 02.05.2016 - 15:58 Uhr

conditional fields ist die lösung, denke ich

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das könntest du mit Rollen lösen

Eingetragen von ronald (3857)
am 02.05.2016 - 15:58 Uhr

wer Mitglied ist, hat eine andere Rolle.

Diese kann beim Ausfüllen des Profils sogar per rules automatisch vergeben werden.

Und über die Rolle lassen sich Berechtigungen steuern.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Rollen / Rules

Eingetragen von Passiflora (4)
am 03.05.2016 - 15:07 Uhr

Vielen Dank für Eure raschen Antworten.
Mit Rules habe ich es schon versucht, bin aber auf halber Strecke gescheitert. Mit meiner ersten Regel versuchte ich, die Benutzergruppe "versichert" allen Usern zuzuordnen, welche im Profil die beiden Felder "versicherung" und "versichertennr." ausgefüllt haben. Das klappte problemlos.
Mit der zweiten Regel versuchte ich, den Usern, welche eines der zwei Felder nicht ausgefüllt haben, die Benutzergruppe "versichert" zu entfernen und gleichzeitig die Benutzergruppe "nichtversichert" zuzuordnen, das klappte aus mir unerfindlichen Gründen nicht. Es wurde stets die Benutzergruppe "versichert" beibehalten und auch nicht die Benutzergruppe "nichtversichert" zugefügt.

Hier die Details des Regeleditors:

1. Regel (die funktioniert):
Regelname: Versichert
Events:
- Nach der Aktualisierung eines bestehenden Benutzerkontos
- Nach nach dem Speichern eines neuen Benutzerkontos
Bedingungen:
- NOT Datenwert ist leer Parameter: Data to check: [account:field-versicherung]
- UND
- NOT Datenwert ist leer Parameter: Data to check: [account:field-versichertennr]
Aktionen:
- Benutzerrolle hinzufügen Parameter: Benutzer: [account], Rollen: versichert
- Benutzerrolle entfernen Parameter: Benutzer: [account], Rollen: nichtversichert

2. Regel (die nicht funktionierte)
Regelname: Nichtversichert
Events:
- Nach der Aktualisierung eines bestehenden Benutzerkontos
- Nach nach dem Speichern eines neuen Benutzerkontos
Bedingungen:
- Datenwert ist leer Parameter: Data to check: [account:field-versicherung]
- ODER
- Datenwert ist leer Parameter: Data to check: [account:field-versichertennr]
Aktionen:
- Benutzerrolle entfernen Parameter: Benutzer: [account], Rollen: versichert
- Benutzerrolle hinzufügen Parameter: Benutzer: [account], Rollen: nichtversichert

oder hier die exportierten Regel-Codes der 2. Regel:

{ "rules_nichtversichert" : {
    "LABEL" : "nicht Versichert",
    "PLUGIN" : "reaction rule",
    "WEIGHT" : "1",
    "OWNER" : "rules",
    "REQUIRES" : [ "rules" ],
    "ON" : { "user_update" : [], "user_insert" : [] },
    "IF" : [
      { "data_is_empty" : { "data" : [ "account:field-versicherung" ] } },
      { "OR" : [] },
      { "data_is_empty" : { "data" : [ "account:field-versichertennr" ] } }
    ],
    "DO" : [
      { "user_add_role" : { "account" : [ "account" ], "roles" : { "value" : { "11" : "11" } } } },
      { "user_remove_role" : { "account" : [ "account" ], "roles" : { "value" : { "10" : "10" } } } }
    ]
  }
}

Wenn ich die 2. Regel mit "UND" statt "ODER" verknüpfe oder weder noch dazu nehme, dann funktioniert die Regel, wenn beide Felder leer sind. Das löst aber das Problem nicht, denn die Rolle "nichtversichert" soll auch dann zugewiesen werden, wenn nur eines der zwei Felder ausgefüllt wurde.

  • 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 2 Tagen
  • Guten morgen und Danke
    vor 1 Woche 2 Tagen
  • Evtl. versuchen auf PHP 8 zu wechseln
    vor 1 Woche 3 Tagen
  • Danke Schmittrich. Die Frage
    vor 1 Woche 4 Tagen
  • Keine Antwort auf die Frage nach dem Woher
    vor 1 Woche 4 Tagen
  • Danke ich werde mir die
    vor 7 Wochen 2 Tagen
  • Vielen Dank für Ihren
    vor 7 Wochen 5 Tagen
  • Composer ist sehr ratsam
    vor 8 Wochen 9 Stunden
  • Vielen Dank für den
    vor 8 Wochen 2 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 8 Wochen 3 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 17 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