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

OG / Rules / deaktivierte User

Eingetragen von ekeis (15)
am 25.02.2015 - 09:57 Uhr in
  • Module
  • Drupal 7.x

Hallo zusammen,

ich habe mit mir Drupal / OrganicGroups / Rules ein kleines Informationsportal für registrierte Mitglieder aufgebaut. Die Benutzer sind einer oder mehrerer Gruppen zugeordnet. Wird ein Inhalt erstellt, der zu einer Gruppe gehört, bekommen die entsprechenden Benutzer eine Email mit der Benachrichtigung, dass ein neuer Inhalt erstellt wurde. Soweit ist es ja recht standardmäßig. Soweit funktioniert das auch.

Nun habe ich festgestellt, dass auch deaktivierte Nutzer, diese Emailbenachrichtigung bekommen. Das möchte ich natürlich nicht.

Ich habe an unterschiedlichen Stellen gelesen, dass man in TPL-Dateien ändern oder Hooks programmieren kann, die dieses Verhalten übersteuern. Lieber wäre mir allerdings, einfach eine UND-Bedingung hinzuzufügen "Benutzer = AKTIV ?". Wenn ja, wird versandt, wenn nein wird aus der Schleife ausgestiegen.

Kann mir jemand einen Tipp geben, wie ich diese Bedingung hinzufüge?

Danke im voraus für Eure Hilfe.

Beste Grüße
Oliver

‹ FiveStar-Schnipsel "Zum bewerten Anmelden oder Registrieren" Useraccount Mailadresse plötzlich üngültig ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Dazu musst du natürlich

Eingetragen von marco.b (645)
am 25.02.2015 - 10:15 Uhr

Dazu musst du natürlich wissen, welches Modul die Benachrichtigungen versendet. Wenn es durch Rules geschieht, sollte das kein Problem sein. Lass dir einfach mal die Rules debug Infos darstellen (siehe http://www.drupalcenter.de/node/52778#comment-184048).

Es kann aber auch ein anderes Modul sein. Hast du die Website nicht selbst aufgesetzt oder eine Distribution benutzt?

Baste Grüße
Marco

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die schnelle

Eingetragen von ekeis (15)
am 25.02.2015 - 15:00 Uhr

Danke für die schnelle Antwort :-)

Ich habe die Website selbst aufgesetzt. Über Ruleslink wird der Versand auf Knopfdruck angetriggert und per Rules werden die Emails dann versandt. Ich müsste also nur eine per AND verbundene Condition hinzufügen. Wie das geht, glaube ich zu wissen. Ich weiß nur nicht, welches Feld ich wie abfragen muss.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie das heisst, ist in deiner

Eingetragen von marco.b (645)
am 25.02.2015 - 16:18 Uhr

Wie das heisst, ist in deiner Rule unter der Aktion zu sehen, die die Mails versendet. Damit musst du eine neue Bedingung setzen.

An dieser Stelle eine tutorial empfehlung, die sich sehr lohnt, durchzuarbeiten: http://nodeone.se/en/learn-the-rules-framework

Beste Grüße
Marco

  • Anmelden oder Registrieren um Kommentare zu schreiben

Rules habe ich verstanden

Eingetragen von ekeis (15)
am 25.02.2015 - 16:31 Uhr

Da Prinzip der Rules ist mir klar. Nur das Feld, welches ich benutzen muss, kenne ich nicht.

In der Drupal-Datenbank gibt es die Tabelle 'users' und dort ein Feld 'status'. Im Status steht, ob der Benutzer aktiv oder geblockt ist. Diese Information möchte ich also in meiner vorhanden Rule verwenden.

Und ja, es gibt dort schon eine Bedingung: die Bedingung nämlich, ob der Benutzer zu der Gruppe gehört, der auch der Node angehört, über dessen Aktualisierung ich per Email benachrichtigen will. Dazu muss also per AND die Abfrage verknüpft werden, ob der Benutzer aktiv oder geblockt ist.

Meine Frage ist also ganz speziell: wie frage ich o.g. Feld in meiner Bedingung ab?

Beste Grüße
Oliver

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es gibt eine Rules Condition

Eingetragen von marco.b (645)
am 25.02.2015 - 16:49 Uhr

Es gibt eine Rules Condition "Benutzer ist gesperrt". Füge diese negiert hinzu.
Zu and und or conditions: Wenn du nicht in Rules conditions mit "or" verknüpfst, gilt immer "and". Also musst du hier nichts machen, nur die Bedingung hinzufügen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das mit der default-mäßigen

Eingetragen von ekeis (15)
am 25.02.2015 - 17:34 Uhr

Das mit der default-mäßigen AND-Verknüpfuing wusste ich nicht.

Aber es hilft mir leider noch nicht weiter. Meine Rule sieht bisher so aus

{ "rules_og_new_content" : {
    "LABEL" : "OG new content notification",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "og", "rules" ],
    "ON" : { "node_insert" : [] },
    "IF" : [ { "og_entity_is_group_content" : { "entity" : [ "node" ] } } ],
    "DO" : [
      { "og_get_members" : {
          "USING" : { "group_content" : [ "node" ] },
          "PROVIDE" : { "group_members" : { "group_members" : "List of group members" } }
        }
      },
      { "LOOP" : {
          "USING" : { "list" : [ "group-members" ] },
          "ITEM" : { "list_item" : "Current list item" },
          "DO" : [
            { "mail" : {
                "to" : [ "list-item:mail" ],
                "subject" : "Neuer Beitrag im Portal: [node:title]",
                "message" : "Hallo [list-item:name],\r\n\r\nder Beitrag \u0022[node:title]\u0022 ist erstellt worden:\r\n[node:url]\r\n---\r\nBitte beachten: Aktualisierungen dieses Beitrages werden nicht erneut versendet.\r\n---\r\nZuordnung:\r\n[list-item:og-membership]\r\n\r\n",
                "from" : [ "site:mail" ],
                "language" : [ "" ]
              }
            }
          ]
        }
      }
    ]
  }
}

In dem Moment, wo die "List of group members" aufgebaut wird, muss die Bedingung "Benutzer gesperrt" eingarbeitet werden. Nur wie geht das?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Jetzt sehe ich dein Problem

Eingetragen von marco.b (645)
am 25.02.2015 - 18:15 Uhr

In Conditions kommst du noch nicht an diese Daten, weil der Bezug zum User object noch nicht da ist.
Unter Actions ruftst du die user erst über den Loop auf: Der user ist list-item und kommt aus der "List of group members"

Um die Bedingung danach setzen zu können, kannst du entweder die Rule in components zerlegen oder
https://www.drupal.org/project/rules_conditional einsetzen. Damit kannst du unter den rules actions noch Bedingungen setzen. Ich empfehle letzteres.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja genau...

Eingetragen von ekeis (15)
am 25.02.2015 - 20:43 Uhr

Soweit war ich damals, wusste dann aber nicht, wo ich genau an der Stelle die Condition group-members:list_item.status==active einsetzen kann. Deshalb kam ich auf das schmale Brett, den active-Status schon früher in der Condition abzufragen.

In der Schleife (Parameter: Liste: [group-members] - List item: Current list item (list_item)) kann ich nur eine action oder eine weitere loop einbringen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie gesagt: installiere dir

Eingetragen von marco.b (645)
am 25.02.2015 - 22:19 Uhr

Wie gesagt: installiere dir conditional rules, füge ein conditional ein, dann eine if condition (ob deine userraktiv sind) und die mail actions dahinter (optisch eingerückt).

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich teste das einmal.

Eingetragen von ekeis (15)
am 26.02.2015 - 08:57 Uhr

Das werde ich einmal ausprobieren. Ich habe nur versucht, ein Beta-Modul zu vermeiden, da ich nicht einschätzen kann, inwieweit dann die Stabilität meiner Seite oder der Funktionalität OG beeinflusst wird. Muss ich mir da Sorgen machen?

OffTopic: Bezugnehmend auf meinen Kommentar in http://www.drupalcenter.de/node/51791#comment-180840 fand ich bemerkenswert, dass auch ich hier an dieser Stelle die Benachrichtigung zweimal bekomme. Ist dieser Teil der Seite auch mit OG und Rules organisiert?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nur Mut

Eingetragen von marco.b (645)
am 26.02.2015 - 11:36 Uhr

Das Modul kannst du benutzen, ich nutze es auch in mehreren Projekten.

Es ist zwar gut, auf die Versionen und Stabilität zu achten, aber für die Modulqualität gibt es viel mehr Kriterien, z.B. was der Maintainer sonst noch alles für Module hält etc. Es gibt richtig gute Module im dev Stadium, während andere Module in stable Releases verbugt (siehe Datum der Veröffentlichung) sind. Das heisst aber nicht, dass alle Module älteren Datums verwahrlost sind, einige sind einfach ausgereift.
Es kommt auf die Komplexität im einzelnen an und rules_conditional ist recht schlank.

  • Anmelden oder Registrieren um Kommentare zu schreiben

OffTopic

Eingetragen von marco.b (645)
am 26.02.2015 - 11:38 Uhr
Zitat:

OffTopic: Bezugnehmend auf meinen Kommentar in http://www.drupalcenter.de/node/51791#comment-180840 fand ich bemerkenswert, dass auch ich hier an dieser Stelle die Benachrichtigung zweimal bekomme. Ist dieser Teil der Seite auch mit OG und Rules organisiert?

Ich hatte meinen vorletzten Kommentar editiert, was eine weitere Nachricht ausgelöst hatte. Kriegst du alle Messages 2x ?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Offtopic

Eingetragen von ekeis (15)
am 26.02.2015 - 12:04 Uhr

Ich hatte meinen vorletzten Kommentar editiert, was eine weitere Nachricht ausgelöst hatte. Kriegst du alle Messages 2x ?
Beiliegend als Screenshot meine Benachrichtigungsemails. Wenn die mit Deinen Editionen passt, ist ja alles ok.

AnhangGröße
2015-02-26_120304.png 21 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Und wieder zum Thema...

Eingetragen von ekeis (15)
am 26.02.2015 - 12:08 Uhr

Leider funktioniert es so noch nicht (siehe Screenshot). Hmm...

AnhangGröße
2015-02-26_120706.png 211.67 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich sehe keinen Fehler.

Eingetragen von marco.b (645)
am 26.02.2015 - 13:49 Uhr

Ich sehe keinen Fehler. Versuch mal, die condition mit "Benutzer gesperrt" (negieren) zu ersetzen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Habe ich gemacht...

Eingetragen von ekeis (15)
am 26.02.2015 - 17:26 Uhr

Siehe Screenshot.

Funktioniert leider immer noch nicht. Drupal meldet zwar "Die Mitglieder der Gruppe werden per E-Mail benachrichtigt." es kommt aber keine Email an.

AnhangGröße
2015-02-26_172540.png 19.11 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Asche auf mein Haupt :-/

Eingetragen von ekeis (15)
am 26.02.2015 - 21:04 Uhr

Nach der Installation von rules_conditional saß der Fehler vor dem Computer - sooooooooorrrrry

Das Modul rules_conditional funktioniert. Problem hier war, dass ich gleichzeitig meinen Server umgezogen habe und der neue Server, auf dem auch das Portal läuft, schon so konfiguriert war, dass er die Empfänger-Emailadresse angenommen hat (also lokal), obwohl Postfix noch nicht fertig eingerichtet war.

Zuviele Aufgaben während des Umzugs gleichzeitig - nochmals 'tschuldigung.

Jetzt sieht alles gut aus, Email werden versendet und kommen auch an.

Danke für den Tipp und auch vielen Dank für die psychologische und technische Hilfe :-)

  • 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

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

Statistik

Beiträge im Forum: 250237
Registrierte User: 20466

Neue User:

  • StevenEness
  • ocvk2810
  • marouane.blel

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