Ich möchte mehreren Inhaltstypen gleichzeitig ein Feld hinzufügen und es auch für alle gleichzeitig konfigurieren.
Grund dafür ist, dass ich viele Inhaltstypen habe, die alle aktualisiert werden müssen, indem jedes neue Feld hinzugefügt wird. Dieses Feld wird auch für alle Inhaltstypen gleich konfiguriert. Ich muss diesen Vorgang des Hinzufügens und anschließenden Konfigurierens des Felds für jeden Inhaltstyp wiederholen, zu dem ich es hinzufügen möchte, und es wird nach einer Weile schwierig.
Gibt es eine Möglichkeit, ein Massenfeld für viele Inhaltstypen massenweise hinzuzufügen / zu konfigurieren?
Antworten:
Breite Linien, die das Funktionsmodul verwenden, können sein:
quelle
Verwenden Sie das Feldwerkzeugmodul :
Eine Sammlung nützlicher UI-Tools für die Arbeit mit Feldern:
quelle
Wenn es Ihnen nichts ausmacht, ein benutzerdefiniertes Modul dafür zu schreiben, ist es relativ einfach, einem Inhaltstyp über Code ein Feld hinzuzufügen:
$instance = array(
'field_name' => 'field_firstname',
'label' => 'First name',
'entity_type' => 'node',
'bundle' => 'person',
);
field_create_instance($instance);
Der obige Code fügt dem Inhaltstyp mit dem Computernamen "person" das Feld "field_firstname" hinzu. Sie können also ein Modul erstellen, das ein Formular enthält, mit dem Sie ein Feld und eine Reihe von Inhaltstypen auswählen können. Bei der Übermittlung wird das Feld allen ausgewählten Inhaltstypen hinzugefügt.
quelle
Die wenigen Male, die ich dazu musste, habe ich Field Collection verwendet .
Es ist jedoch immer noch ziemlich mühsam, da Sie das Feldsammlungsfeld jedem Inhaltstyp hinzufügen müssen. Wenn Sie jedoch mehreren Inhaltstypen 5 oder 6 Felder hinzufügen, müssen Sie die ersten 5 oder 6 Felder nur einmal in der Feldsammlung konfigurieren.
field_collection_field
Anschließend erstellen Sie das Feldsammlungsfeld (aus Gründen der Argumentation nennen wir es ) für einen Ihrer Inhaltstypen und verwenden dasselbe Feld für alle anderen erneut.Wie gesagt, Sie müssen immer noch ein Feld für x Anzahl von Inhaltstypen konfigurieren. Es ist jedoch besser, als beispielsweise 10 Felder für 10 Inhaltstypen zu erstellen.
quelle
Wenn Sie die Datenbank direkt bearbeiten möchten, werden Feldinstanzen in der Tabelle {field_config_instance} gespeichert. Sie können Ihr Feld für einen Inhaltstyp hinzufügen / konfigurieren, dann den Datensatz in der Datenbanktabelle suchen und duplizieren.
Sie müssen zwei Spaltenwerte in der duplizierten Zeile ändern:
quelle