Es gibt einen Inhaltstyp ("Jobliste"), mit dem ein Geschäftskonto Stellenangebote auflisten kann, und ein Profil2-Profil für jedes Unternehmen, das die Adresse, den Organisationsnamen und Taxonomiebegriffe des Unternehmens wie den Branchentyp enthält.
95% der Unternehmen, die eine Stellenanzeige auflisten, verwenden dieselben Informationen. Ich könnte nur die Profilinformationen verwenden, muss aber die 5% berücksichtigen, die möglicherweise das Formular für die Stellenanzeige ändern möchten. Zum Beispiel könnte sich der Job in einem anderen Staat oder Land befinden und dies muss berücksichtigt werden. Ich denke, der beste Weg, um mit dieser Situation umzugehen, besteht darin, die gleichen Felder sowohl im Profil als auch im Formular für die Stellenanzeige zu haben, aber dem Unternehmen zu erlauben, die Informationen im Formular für die Stellenanzeige zu ändern.
Es ist sinnvoll, das Formular für die Stellenanzeige standardmäßig mit Informationen zum Unternehmensprofil auszufüllen. Wie mache ich das am besten? Ich wollte Regeln verwenden, kann jedoch keine einzige Option für eine Regel finden, bevor das ursprüngliche Formular zur Knotenerstellung erstellt wurde.
Sollte ich nur verwenden, hook_form_alter()
um auf die Profilinformationen bei der Erstellung des ursprünglichen Knotens zuzugreifen und diese Informationen zum Festlegen der Standardwerte zu verwenden?
Antworten:
Ich habe eine hook_form_FORM_ID_alter () -Funktion in einem Hilfsmodul erstellt, die prüft, ob der Knoten eine NID hat und wenn ja, ob sie nicht in der Operationsvorschau enthalten ist. Dann fülle ich die Standardwerte des Formulars mit den Profilinformationen des Unternehmens, damit diese später geändert werden können.
quelle
Ich hatte die gleiche Anforderung und benutzte den obigen Code, um loszulegen. Leider berücksichtigt der obige Code nicht die Auswahl mehrerer Länder und damit die dynamische Feldnatur länderspezifischer Felder (Provinzen, Bundesstaaten usw.). Ich habe eine neue Funktion zusammengestellt, um das Adressfeld vorab auszufüllen, aber mit der Möglichkeit, in das richtige Land zu wechseln.
Ich habe diesen Codeausschnitt von mrfelton erhalten, der einen Patch für ähnliche Funktionen zur Adresspopulation für den Drupal-Handel geschrieben hat. Danke für diese Inspiration.
Hier ist meine Funktion, mit der ich Feldadressdaten vorab ausgefüllt habe. Bitte verbessern Sie dies und geben Sie es der Community zurück.
quelle
Ich habe ein allgemeineres (aber nicht perfektes) Modul erstellt, basierend auf der Antwort aus dem endlosen Sommer . Es wird davon ausgegangen, dass die Feldnamen aus Ihrem Profil und dem Knoten identisch sind, und alle Felder aus einem bestimmten Profil werden vorab ausgefüllt:
quelle