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

  • 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
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
Weiter

Neue Kommentare

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

Statistik

Beiträge im Forum: 250236
Registrierte User: 20463

Neue User:

  • ocvk2810
  • marouane.blel
  • capilclinic

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