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

Rules und Benutzerfelder

Eingetragen von C-tecx (27)
am 25.04.2015 - 11: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 (1525)
am 25.04.2015 - 14: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

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

Eingetragen von C_Logemann (912)
am 26.04.2015 - 09: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).

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Carsten, es ist in der

Eingetragen von C-tecx (27)
am 26.04.2015 - 10: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 (912)
am 26.04.2015 - 14: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.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das hört sich doch ganz gut

Eingetragen von C-tecx (27)
am 26.04.2015 - 16: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 (912)
am 26.04.2015 - 22: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.

  • 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 2 Wochen 2 Tagen
  • Hey danke
    vor 2 Wochen 2 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 3 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 23 Stunden
  • Da scheint die Terminologie
    vor 3 Wochen 1 Tag
  • Kannst doch auch alles direkt
    vor 3 Wochen 5 Tagen
  • In der entsprechenden View
    vor 3 Wochen 5 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 5 Tagen
  • gelöst
    vor 6 Wochen 1 Tag
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

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