Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Benutzer mit Zusatzfeldern aus node erstellen und Werte übergeben

Eingetragen von vistree (238)
am 26.10.2012 - 12:27 Uhr in
  • Allgemeines zu Drupal
  • Drupal 7.x oder neuer

Hallo,
ich suche mir gerade einen Wolf für folgendes Problem:
ich habe einen Inhaltstyp, der auch bestehende Benutzer referenzieren soll (user reference). Nun kann es aber sein, dass es den gewünschten Kontakt noch nicht im System gibt. Der "normale" Seitebesucher DARF aber keine Benutzer anlegen - weshalb ich für diesen Fall die ganzen Kontaktfelder für die Eingabe mit in den Inhaltstyp gepackt habe. Durch die Verwendung eines fieldset kann man diese Felder dann anzeigen, wenn man sie auch braucht.

Meine Frage ist nun: ich würde gerne in der Ansicht des zuvor erstellten Inhalts einen Button / Link erstellen, der mir die ausgefüllten Felder automatisch in einen Benutzer konvertiert. Wichtig ist mir dabei, dass auch die Zusatzfelder für das Benutzerprofil (erstellt über die core-Feldfunktion) mit ausgefüllt werden.

Geht das auch ohne das Prepopulate Modul (da wird mir die URL wohl zu lang, da ich ca. 12 Felder zu übergeben habe ...)??

Viele Grüße

‹ [gelöst] Open Atrium: Sortierung der Blogbeiträge ändern Piwik: Keine Besucher-Protokollierung ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Feeds

Eingetragen von oteno (775)
am 26.10.2012 - 13:23 Uhr

Wenn ich das richtig verstanden habe, könnte ich mir vorstellen, dass es über den User-Import des Feeds-Moduls gehen könnte.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi Oteno, Danke für den Tipp.

Eingetragen von vistree (238)
am 26.10.2012 - 13:59 Uhr

Hi Oteno,
Danke für den Tipp. Wäre eigentlich nicht schlecht - ich kann hier aber keinen solchen Automatismus einrichten, da wir selber entscheiden müssen, ob tatsächlich ein neuer User angelegt wird oder nicht. Oder kann ich über eine Knopf feeds anstoßen, dass er die Daten aus dem aktuellen node übernimmt?

Viele Grüße und ein schönes Wochenende

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das müsste schon gehen. Ich

Eingetragen von oteno (775)
am 26.10.2012 - 14:08 Uhr

Das müsste schon gehen. Ich könnte mir z.B. auch vorstellen, dass man über ein Optionsfeld und View, die Nodes auswählt aus denen man User importieren will und dann einen Import-Lauf macht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

feeds bisher kein voller Erfolg

Eingetragen von vistree (238)
am 09.11.2012 - 10:00 Uhr

Hallo,
also das mit den Feeds ist bei mir keine gute Lösung. Ich muss normalen Benutzern die Möglichkeit geben, die Daten aus dem node in einen Benutzer zu konvertieren. Da ist das mit den Feeds einfach zu kompliziert - Schade eigentlich, denn es ist an sich eine schöne Lösung. Ich bräuchte aber irgendwie die Möglichkeit die Konvertierung über einen Knopf (z.B. in einem Seitenblock) direkt aus dem node anzustoßen. Der User soll dabei auch wirklich nur die aktuell angezeigten Daten konvertieren können.
In Drupal 6 konnte man da ja mit URL-Parametern und dem $GET in den Standardfeldwert-Einstellungen arbeiten. Geht das nicht doch auch irgendwie in Drupal 7?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Irgedwie verstehe ich es

Eingetragen von oteno (775)
am 09.11.2012 - 10:16 Uhr

Irgendwie verstehe ich es nicht ganz. Oben steht:

vistree schrieb

Der "normale" Seitebesucher DARF aber keine Benutzer anlegen

unten steht:

vistree schrieb

Ich muss normalen Benutzern die Möglichkeit geben, die Daten aus dem node in einen Benutzer zu konvertieren

Wer darf jetzt Benutzer anlegen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du hast recht, das ist

Eingetragen von vistree (238)
am 09.11.2012 - 11:56 Uhr

Du hast recht, das ist missverständlich:
also, es gibt Gäste, die dürfen einen node anlegen, der auch Kontaktdaten enthält. Diese node müssen von einem Kernteam freigegeben werden. Dieses Kernteam besteht aus "normalen" (in Bezug auf das Know-How) Benutzern. Das Kernteam soll prüfen, ob die angegebene Adresse bereits im user-Bereich angelegt wurde. Wenn nicht, dann soll das Kernteam im node auf einen Button klicken, um die vom Gast angegebenen Adressdaten in einen User zu konvertieren.

Ich fürchte, dass der feeds-Weg für die meisten Benutzer aus dem Kernteam zu kompliziert wird, zumal da nicht ständig mit gearbeitet wird (ich denke, da kommen momentan nur ca. 10 nodes pro Monat rein ...).

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du könntest, dann eine

Eingetragen von oteno (775)
am 09.11.2012 - 12:06 Uhr

Du könntest, dann ein Optionsfeld miteinfügen, mit dem das Kernteam den User für einen Account freigibt, für den Feed kannst Du nach diesem Kriterium filtern, den Rest macht dann cron.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, habe das ganze gelöst.

Eingetragen von vistree (238)
am 22.11.2012 - 10:07 Uhr

Hi, habe das ganze gelöst. Vielen Dank für die Denkanstöße! Ich habe es nun nicht mit feeds, sondern mit rules gelöst. Das Optionsfeld war dafür ein wichtiger Tipp!
Viele Grüße

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo vistree, könntest Du

Eingetragen von oteno (775)
am 22.11.2012 - 10:17 Uhr

Hallo vistree, könntest Du noch kurz beschreiben, wie, und dann den Beitrag als [gelöst] markieren?

  • Anmelden oder Registrieren um Kommentare zu schreiben

[gelöst]

Eingetragen von vistree (238)
am 22.11.2012 - 11:17 Uhr

Klar kann ich:
System: Drupal 7
Also, ich habe einen Inhaltstyp (Antrag), in dem auch Kontaktdaten erfasst werden (s.o.). Dabei habe ich u.a. die folgenden Pflichtfelder definiert (dürfen nicht leer sein!)

Vorname, Nachname und E-Mail-Adresse

Bei Bedarf sollen diese Kontaktdaten in einen User konvertiert werden.
Dazu gibt es in dem Inhaltstyp ein Text-Listenfeld (field-adresse-konvertieren) mit genau einer Option: konvertieren. Das Feld ist auf "unendliche Werte" eingestellt, damit man eine checkbox bekommt, die man an- und abwählen kann. Dieses Feld ist nur für das Team sichtbar (über Workflow-Fields realisiert).

In dem Inhaltstyp gibt es schließlich noch ein userreference-Feld (field_ansprechpartner), der einen bestehenden Benutzer oder den neu angelegten Benutzer referenzieren soll. Dieses Feld ist nur für das Team sichtbar (über Workflow-Fields realisiert).

Nun habe ich in rules eine neue Regel angelegt, mit dem Event: Nach dem Aktualisieren bestehenden Inhalts

Dazu dann verschiedenen Bedingungen:
a) Inhalt hat den Typ: Antrag
b) Datenvergleich:
Daten zum Vergleich: node:field-adresse-konvertieren:0
Operator: gleich
Datenwert: konvertieren
c) Eigenen PHP-Code ausführen: (um zu prüfen, ob bereits ein Benutzer mit dem Namen aus den Feldern Vorname + Leerzeichen + Nachname exitiert - sonst gibt es Fehlermeldungen!!!!)
PHP-CODE:

<?php
$name
= '[node:field-vorname] [node:field-name]';
$user = user_load_by_name($name);
if(!
$user){
    return
TRUE;
}
else {
    return
FALSE;
}
?>

Dann habe ich noch folgende Aktionen angelegt:
a) Erstellen Sie eine neue Entität:
Element-Typ: Benutzer
Name: [node:field-vorname] [node:field-name]
E-Mail: [node:field-e-mail]
b) Einen Wert setzen (das muss man für alle gewünschten Benutzerfelder wiederholen!):
Daten: entity-created:field-vorname
Wert: [node:field-vorname]
c) Entität speichern (da man sonst noch nicht auf die Benutzer-UID zugreifen kann, die ich für d) brauche)
Entität: entity-created
Bei "Sofort speichern" einen Haken
d) Eigenen PHP-Code ausführen (um das userreference-Feld field_ansprechpartner auf den zuvor angelegten Benutzer zu setzen)
PHP-CODE:

<?php
$node
->field_ansprechpartner[und][0]['uid'] = $entity_created->uid;
?>

e) Einen Wert setzen (um den Haken im Originalnode bei konvertieren entfernen)
Daten: node:field-adresse-konvertieren
Wert: leer lassen

Das war es. Das ganze lässt sich sicherlich noch verfeinern und erweitern.

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

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

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 22 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