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

Rules und Benutzerfelder

Eingetragen von C-tecx (27)
am 25.04.2015 - 12:17 Uhr in
  • Module
  • Drupal 7.x

Hallo zusammen,

folgendes habe ich vor und komme nicht ganz weiter. Ich habe einen Inhaltstyp "Aufgabe". Diese "Aufgabe" kann von angemeldeten Benutzern gelöst werden. Somit muss also eine Verbindung zwischen Node Aufgabe und User Aufgabe bestehen. Hat ein Benutzer die entsprechende Aufgabe gelöst, muss in seinem Benutzeraccount also ersichtlich sein, dass diese Aufgabe bereits gelöst ist. So nun habe ich das Problem, wenn ich eine neue Aufgabe anlege ein entsprechendes Feld im Benutzer angelegt werden muss. Ich dachte da an Rules. Ich kann als Event

"Nach dem Speichern von neuem Inhalt vom Typ Aufgabe"

auswählen was ja schonmal gut ist. nun bräuchte ich eine Aktion die bspw. heißt

"Benutzer -> neues Benutzerfeld anlegen (für alle Benutzer)"

das Feld müsste vom Typ boolean sein und am besten müsste der Wert des Feldes dann die die ID bzw. der Titel des Nodes sein. Somit würde eine Beziehung zwischen dem Benutzer und der Aufgabe sein. Erledigt der benutzer die Aufgabe kann der Wert auf "True" gesetzt werden. Ich hoffe ich habe das einigermaßen verständlich ausgedrückt. Jemand ne Idee wie ich das umsetzen kann?

Besten Dank schonmal.

‹ Mollom API Keys und Ping... Bildgalerie mit Ctools? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

ich bin mir nicht sicher, ob

Eingetragen von torfnase (1491)
am 25.04.2015 - 15:51 Uhr

ich bin mir nicht sicher, ob es funktioniert, denn ich habe es nicht getestet, aber es gibt ein Modul: Field-Rules.

Die zugegeben sehr kurze Beschreibung:

Zitat:

Provides Rules integration for creating fields, field instances, and node types.

deutet das zumindest an.

Vielleicht geht das ja.

Gruß
Berthold Lausch

Drupal Video-Tutorials

  • Anmelden oder Registrieren um Kommentare zu schreiben

In Rules ein Entity-Feld füllen mit "Set a data value"

Eingetragen von C_Logemann (825)
am 26.04.2015 - 10:04 Uhr

Ich glaube der Thread-Opener möchte nur ein Feld befüllen und keines anlegen. Das geht ohne weitere Module mit "Set a data value". Wenn das entsprechende Feld nicht direkt in der Auswahlliste erscheint (meistens bei manuell angelegten Felder der Fall), dann muss man es quasi der eigenen Rule erst "bekannt machen" mit der in diesem Zusammenhang etwas verwirrenden Bedingung/Condition "Entity has Field".

Aber falls man tatsächlich mal mit Rules, die Daten-Struktur von Entitäten ändern möchte, ist das Field-Rules ein interessanter Ansatz, den ich mal testen werde bei Gelegenheit. Aber, daß dies ein sehr selterne Fall ist sieht man allein schon an der der geringen Verbreitung von zur Zeit 344 Installationen gegenüber 274840 zur Zeit für Rules selbst gemeldeten Installationen (siehe jeweilige Modulseiten).

# DrupalCenter-Moderator # Mitglied im Drupal e.V. # https://www.drupal.org/u/c_logemann
# CTO der Nodegard GmbH: CMS Security & Availability Management

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Carsten, es ist in der

Eingetragen von C-tecx (27)
am 26.04.2015 - 11:53 Uhr

Hallo Carsten,

es ist in der Tat so, dass ich ein neues Feld anlegen möchte. Sobald ich eben eine neue Aufgabe vom Inhaltstyp Aufgabe erstelle möchte ich ja nicht extra in die Benutzerprofile und ein neues Feld vom Typ Boolean anlegen. Das soll eben automatisch passieren. Ich werde mal Field Rules ausprobieren. Hat mich allerdings auch gewundert, dass das Modul erst 300 mal verwendet wird.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Verweis User > Inhaltstyp mit Entityreference

Eingetragen von C_Logemann (825)
am 26.04.2015 - 15:08 Uhr

Das mit den einzelnen Boolean Fields für jede neue Aufgabe könnte das System schnell verkomplizieren.
Wenn einfach nur deutlich werden soll, daß ein User x eine bestimmte Aufgabe (mit Node ID y) erfüllt hat, macht vllt. ein multiples Entityreference-Feld Sinn. Darüber können User direkt mit den Aufgaben verknüpft werden, die diese gelöst haben. Das lässt sich ebenfalls mit Rules automatisieren.

# DrupalCenter-Moderator # Mitglied im Drupal e.V. # https://www.drupal.org/u/c_logemann
# CTO der Nodegard GmbH: CMS Security & Availability Management

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das hört sich doch ganz gut

Eingetragen von C-tecx (27)
am 26.04.2015 - 17:33 Uhr

Das hört sich doch ganz gut an! :) Ja, es soll einfach nur eine Beziehung zwischen Aufgabe und User bestehen sodass klar ist, ob Benutzer X die entsprechende Aufgabe gelöst hat. Dies müsste dann natürlich noch auswertbar sein wie z. B. User x hat Aufgabe 1, 2 und 4 gelöst usw. Entityreference kenne ich nicht.
-----------------------
Edit: Hab mir nun in der Aufgabe einen neues Feld mit dem Typ Entity Reference erstellt. Nun habe ich einer Aufgabe diesem Feld testweise 2 Benutzer hinzugefügt die diese Aufgabe also gelöst haben. Nun müsste ich allerdings eine Abfrage haben ob der angemeldete Benutzer in diesem Feld drinsteht. Wie kann ich denn per API eine Abfrage machen die heist "wenn angemeldete user ID im Feld exisitert dann gib true zurück"?
Mit "entity_metadata_wrapper('node', $node); komm ich irgendwie nicht so recht weiter.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Views und Rules

Eingetragen von C_Logemann (825)
am 26.04.2015 - 23:54 Uhr

Zunächst mal kann man die Entityreferences sowohl in die eine als auch in die andere Richtung erstellen. Das hängt ganz von der jeweiligen Anforderung ab. Ich hatte das zunächst zwar so gedacht, daß beim User die Verbindung zum Node gespeichert wird, aber anders herum ist es wahrscheinlich sinnvoller.
Das Feld wir beim einem Entity-Load (damit auch user_load oder node_load) mit geladen und ist dann aus dem Objekt auslesbar, wenn man das im Code benötigt. Mit dem Devel Modul kann man sich das schön anzeigen lassen.
Wenn man z.B. in Views mehr als die Entity-ID möchte und z.B. den User-Namen von verknüpften User IDs, muss man eine Relation darauf anlegen. Views kann sogar entsprechende Rückverbindungen als Relation (im Hintergrund per Joins) auflösen kann im SInne, "zeige mir Nodes, die User mit ID x zeigen". Dies macht redundante Rückverlinkungen unnötig, wie es manche Lösungen vorsehen.
Über Views-Bulk-Operations z.B. sich die Aufgaben laden, wenn man z.B. die aktuelle User ID als Argument an Views übergibt. Aber auch Views kann man im Code verwenden oder man schreibt sich Datenbank-Abfragen, die über die Target-IDs die Quellen Entity-IDs suchen.

# DrupalCenter-Moderator # Mitglied im Drupal e.V. # https://www.drupal.org/u/c_logemann
# CTO der Nodegard GmbH: CMS Security & Availability Management

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Drupal 8: Fußzeilenmenü auf Login-Seite verschwunden
  • Vom jeweiligen User die Kunstwerke ausgeben.
  • Fullcalendar - Grösse Dialogfenster
  • Notify-Modul: Einmalige Benachrichtigung ueber neue Nodes senden
  • [gelöst]Drupal 9 und Ubuntu 20.04
  • [gelöst] Swiftmailer installieren um Simplenews zum Laufen zu bringen
  • Installiert ja, aber kein einziger link funktioniert
  • Drupal 9 - "read more" übersetzen nun anders, nur wie?
  • [gelöst] Nur editierbare Medien in Media-View anzeigen
  • Probleme mit dem Adminmenü
  • Inhalte ändern/erstellen nicht möglich - Problem mit Datenbank-Verbindung?
  • Groups und Drupal 9
Weiter

Neue Kommentare

  • irgendwo wird doch die nutzer
    vor 18 Stunden 11 Minuten
  • inst schrieb Hallo, ich
    vor 18 Stunden 15 Minuten
  • Kein Problem. Ich helfe dir
    vor 2 Tagen 17 Stunden
  • ?????Bahnhof,
    vor 2 Tagen 17 Stunden
  • Wenn du es geschafft hast
    vor 2 Tagen 19 Stunden
  • All-Inkl und Composer 2
    vor 2 Tagen 19 Stunden
  • dinmikkith schrieb xampp auf
    vor 2 Tagen 19 Stunden
  • Ich bin auch bei All-Inkl und
    vor 2 Tagen 19 Stunden
  • Hallo, ok, verstehe. Aktuell
    vor 2 Tagen 19 Stunden
  • d.h. ohne Know How wie z.B.
    vor 2 Tagen 19 Stunden

Statistik

Beiträge im Forum: 246302
Registrierte User: 18907

Neue User:

  • Demophobie
  • JorgeClayton
  • fel

» Alle User anzeigen

User nach Punkten sortiert:
wla9036
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3917
ronald3834
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 3 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