[gelöst]Einsatz des Moduls Rules
Eingetragen von ThuleNB (379)
am 22.01.2014 - 15:02 Uhr in
am 22.01.2014 - 15:02 Uhr in
Hallo Community,
ich bin gerade dabei mich mit Rules auseinanderzusetzen. Zwei Regeln würde ich gerne umsetzen, leider klappt es noch nicht richtig:
- Ich habe einen eigenen Inhaltstyp "Profil". Außerdem arbeite ich mit dem Modul "Field Complete". Letzteres Modul bringt eine "Rules-Bedingung" mit sich, die prüft ob der Inhaltstyp (in meinem Fall "Profil") vollständig ist. Ich würde nun gerne eine Regel erstellen, wodurch nur vollständige Inhaltstypen "Profil" veröffentlicht werden. Condition (completeness of node) und Action (Inhalt veröffentlichen) sind in dem Fall klar. Leider finde ich in der Liste nicht den passenden Event. Ich habe nur die Auswahl zwischen "nach Erstellung eines neuen Inhalts" oder "Bearbeitung eines exisitierenden Inhalts". Da es in meinem Profilformular jedoch sehr unwahrscheinlich ist, dass ein User das Formular in einer Sitzung vollständig ausfüllt, passen diese beiden Events nicht. Perfekt wäre ein Event "nach Speichern eines Inhalts". Leider gibt es das nicht. Hat vielleicht jemand einen Rat?
- Ein neu registrierter User bekommt im eingeloggten Zustand einen Link "Profil erstellen" zu sehen, über welchen er zu oben erwähntem Formular kommt. Wie gesagt, der Regeldfall wird sein, dass ein User das Formular nicht in einer Sitzung ausfüllt. Wenn sich diese User nun erneut anmeldet, sollte anstelle des Links "Profil erstellen" "Profil bearbeiten" erscheinen. Ist das mit Rules umsetzbar?
Grüße
Thomas
- Anmelden oder Registrieren um Kommentare zu schreiben
Rules-Events
am 22.01.2014 - 16:38 Uhr
Hallo Thomas,
zu 1.
Bei Dir müssten doch die Events Nach dem Speichern von neuem Inhalt (für die erste, unvollständige Anlage des Profils) bzw. Nach dem Aktualsieren bestehenden Inhalts (nach Bearbeitung eines bestehenden, unvollständigen Profils) passen. Damit hast Du alle Fälle abgedeckt, nach denen Du die Vollständigkeit des Profils prüfen und es ggf. veröffentlichen kannst. Die beiden Events habe ich übrigens direkt bei einer frischen Installation von Rules 2.6 auf D7.26.
zu 2.
Erster Gedanke: ich würde es im Theme realisieren. Spendiere dem Benutzerprofil ein Boolean-Feld, in dem festgehalten wird, ob das Profil vollständig ist (das kann Rules ausfüllen, wenn ein Profil gespeichert wird). Im entsprechenden Template prüfst Du das Feld des Users und vergibst dann zwei Beschriftungen, eine für True, die andere für False. Lässt sich sicherlich auch mit Views realisieren, scheint mir für die Aufgabe aber überzogen.
Gruß
Markus
Hallo Markus, vielen Dank für
am 23.01.2014 - 11:44 Uhr
Hallo Markus,
vielen Dank für deine Hilfe.
zu 1. du hast vollkommen recht. Ich hatte einfach übersehen, dass ich mehrere Events hinzufügen kann. Ist ja aber eigentlich logisch und zeigt, dass ich noch Anfänger bin. Danke.
zu 2. ich bin zu dem Schluss gekommen, dass die unterschiedliche Beschriftung nicht sein muss. Ich nenne den Link einfach "Mein Profil". Das passt dann auch gut zu "Mein Konto" :-). In diesem Zusammenhang bin ich aber auf ein anderes Problem gestoßen. Ein authorisierter Nutzer bekommt den Link "Mein Profil" zu sehen, über welchen er zum Profilformular kommt (eigener Inhaltstyp - localhost/webseite/node/profil). Wenn dieser Nutzer nun ein paar Eingaben vornimmt, speichert und sich später erneut einloggt, sollte er über "Mein Profil" zu seinem bereits angefangenen Inhaltstyp "Profil" kommen. Aktuell kommt er wieder auf localhost/webseite/node/profil, wobei er eine Fehlermeldung bekommt, da jeder User nur eine Node vom Typ "Profil" erstellen kann.
Hast du eine Idee, wie ich es schaffen kann, dass ein User zu "seinem" Profil kommt?
Auf die Schnelle fällt mir da
am 24.01.2014 - 16:01 Uhr
Auf die Schnelle fällt mir da nur ein, einen View auf den Inhaltstyp "Profil" zu bauen und nur den Link auf den Inhalt anzuzeigen, der vom aktuell angemeldeten Benutzer stammt (das kannst im View unter Filterkriterien auswählen). Wird funktionieren, ist aber mit ziemlicher Sicherheit ein zu großes Kaliber für diesen Anwendungsfall.
Hast Du Dir schon mal das Modul Profile2 angeschaut? Scheint mir genau das zu machen, was Du mit dem eigenen Inhaltstyp abbildet. Das Modul bringt u.a. auch die Komfortfunktionen wie den von Dir gewünschten Link mit.
Hallo Markus, danke für deine
am 26.01.2014 - 14:14 Uhr
Hallo Markus,
danke für deine Antwort.
Mit Profile2 hatte ich so meine Schwierigkeiten, da ich die Profile nicht als Inhalte darstellen lassen konnte. Da Profile jedoch die Hauptinhalte meiner Webseite sein sollen, musste ich einen eigenen Inhaltstyp hinzufügen, um die volle Funktionalitäten für Nodes nutzen zu können.
Ich hatte zu meinem Problem zwischenzeitlich eine andere Lösung im Kopf. Und zwar wollte ich einfach mit dem Modul pathouto und Token arbeiten. Mein Gedanke war, dass ich den Path zu node/profil/edit einfach mit einem Muster wie profil/[userID]/edit ersetze. Leider kann man für "node Edit" keine separaten Pfadmuster anlegen. Jedenfalls habe ich das noch nicht gefunden. Ich werde hierzu ein neues Thema eröffnen. Irgendwie werde ich das schon gelöst bekommen ;)
Danke nochmals und Gruß
Thomas
Hallo Markus, jetzt stehe ich
am 03.02.2014 - 14:22 Uhr
Hallo Markus,
jetzt stehe ich wieder hier. Ich habe es leider nicht geschafft, mein Problem mittels pathauto und Tokens zu lösen, da sich die Edit-URLs nicht entsprechend anpassen lassen.
Gestern habe ich dann deinen Vorschlag versucht und einen View erstellt. Du hattest geschrieben, dass es ein Filterkriterium gibt, mit dem man den "Inhalt des aktuellen Users" anzeigen lassen kann. Ich habe ein ähnliches Filterkriterium gefunden, allerdings muss man dort auch gleich einen User angeben, dessen Inhalte man angezeigt bekommen möchte. Es wird nicht automatisch der aktuelle User erkannt.
Kannst du mir vielleicht sagen, wo ich diesen Filter finde? Muss ich da vielleicht noch etwas nachinstallieren?
Gruß
Thomas
Ich gehe mal davon aus, dass
am 04.02.2014 - 15:34 Uhr
Ich gehe mal davon aus, dass Dein View Nodes anzeigt. Wenn Du dann im View eine Beziehung "Inhalt: Autor" hinzufügst, kannst Du bei den Filtern Benutzer: Aktuell auswählen. Dieser Filter bezieht sich immer auf den aktuell angemeldeten Benutzer und filtert Inhalt, die nur der gerade angemeldete Benutzer erstellt hat.
ah ok, danke. Die Beziehung
am 04.02.2014 - 16:57 Uhr
ah ok, danke. Die Beziehung "Inhalt: Autor" kann ich dann einfach in den Settings hinzufügen oder benötigt man da ein extra Modul (Relations)?
Findest Du im View-Config
am 05.02.2014 - 14:15 Uhr
Findest Du im View-Config unter Erweitert>Beziehungen.
Ich habe es so nun geschafft,
am 11.02.2014 - 20:22 Uhr
Ich habe es so nun geschafft, dank deiner Hilfe! Danke vielmals!