Wie kopiere ich den Inhaltstyp?

Antworten:

13

Wenn Sie den Export durch Duplizieren meinen, verwenden Sie das Funktionsmodul .

Das Funktionsmodul ermöglicht die Erfassung und Verwaltung von Funktionen in Drupal. Eine Funktion ist eine Sammlung von Drupal-Entitäten, die zusammengenommen einen bestimmten Anwendungsfall erfüllen.

Features bietet eine Benutzeroberfläche und eine API, mit der verschiedene Komponenten zur Standorterstellung aus Modulen mit exportierbaren Dateien zusammengeführt und in einem einzigen Funktionsmodul zusammengefasst werden können. Ein Funktionsmodul ist wie jedes andere Drupal-Modul, mit der Ausnahme, dass es seine Komponenten (z. B. Ansichten, Kontexte, CCK-Felder usw.) in seiner INFO-Datei deklariert, damit es programmgesteuert überprüft, aktualisiert oder zurückgesetzt werden kann.

hpn
quelle
1
Dies scheint derzeit die beste Methode zu sein. Leider gibt es (noch?) Kein Modul wie Content Copy in Drupal 6.
marcvangend 20.09.11
Ich muss exportieren und dann importieren, meinst du?
Raptor
2
Features sind zu viel für das Kopieren eines Inhaltstyps. Es ist beabsichtigt, verschiedene Entitäten / Module / andere für stark angepasste Zwecke zu bündeln. Wenn Sie eine einfache Kopie eines Inhaltstyps wünschen, lesen Sie @ user3936 weiter unten.
doub1ejack
Ich fand das Bundles Inherit-Modul am einfachsten. Siehe meine Antwort unten .
Matt Browne
19

Vielleicht ist es zu spät, das Bundle Copy-Modul zu verwenden :

Bundle-Kopie ist ein Ersatz für das Modul Inhaltskopie, das im CCK-Projekt für Drupal 6 enthalten ist. Export- / Importunterstützung für: Knotentypen, Taxonomie, Benutzer, Feld-API-Felder, Feldgruppen

UPDATE 7.x-2.x-dev Hinweise

Die folgenden Funktionen wurden hinzugefügt:

  • Export / Import von Field Collection
  • Klonen von Inhaltstypen
  • Export / Import von Commerce Entity-Bundles

Drupal 8: Bundle Copy ist in Drupal 8 Core CMI enthalten.

Ccile
quelle
1
Bundle Copy eignet sich nicht zum Klonen eines Inhaltstyps in einen anderen Inhaltstyp auf derselben Site. Und das Suchen / Ersetzen ist nicht einfach. Es gibt Knotenarrays, die auf andere Inhaltstypen verweisen. Ich habe es nicht ganz herausgefunden, aber fieberhaft gefragt. Wenn ich wüsste, was sicher und was nicht sicher zu ändern ist, wäre es hilfreich. Nur eine Warnung. (Ein Benutzer, der auf diese Anfrage geantwortet hat, hat festgestellt, dass beim Durchsuchen / Ersetzen aller Instanzen des ursprünglichen Maschinennamens des Inhaltstyps Fehler in der
@ user7558 Bundle-Kopie eignet sich nicht zum Klonen eines Inhaltstyps in einen anderen Inhaltstyp auf derselben Site. Ja, Sie brauchen nur die kleinste manuelle Intervention
Clive
Gibt es ein Problem beim "Klonen von Inhaltstypen auf derselben Site?" drupal.org/node/1589118
gagarine
1
7.x-2.x-dev unterstützt das Klonen eines Inhaltstyps auf derselben Site über die Benutzeroberfläche.
mpdonadio
Ich denke, Bundle Copy ist die bevorzugte Option, da die Verwendung des Features-Ansatzes das manuelle Bearbeiten von maschinengeneriertem Code zum Suchen / Ersetzen / Umbenennen des von Features generierten Inhaltstypcodes umfasst. Wenn man den Code des Feature-Moduls nicht gut kennt und nicht weiß, wie dieser Code generiert wird, kann es Unbekanntes / Vermutungen geben, die über die Handcodierung auf diese Weise und unglückliche Ergebnisse gemacht wurden. Aktualisiert 1. Oktober 14 Kommentar 1 von 2
therobyouknow
14

Ich habe das Field Tools- Modul verwendet, und es hat einwandfrei funktioniert.

Ich habe lediglich meinen zweiten Inhaltstyp erstellt, diese Modulfunktionalität verwendet, um alle Felder auf den neuen Inhaltstyp zu klonen, und dann das Modul deinstalliert. Bundle-Kopie und Features scheinen lächerliche Möglichkeiten zu sein, einen Inhaltstyp zu duplizieren. Das war super einfach und genau das, was ich wollte.

leexonline
quelle
Wenn Sie nur einen komplexen benutzerdefinierten Inhaltstyp duplizieren möchten, ist dies der richtige Weg. Features haben eine Menge unnötigen Overhead und Ihr Inhaltstyp ist an ein generiertes Modul gebunden. Bleh. Benutze das. Installieren / Aktivieren, wechseln Sie zu dem Inhaltstyp, den Sie klonen möchten, suchen Sie oben nach einer Clone FieldsRegisterkarte, wählen Sie die zu kopierenden Felder und den Knoten aus, auf den Sie sie kopieren möchten , und fertig.
doub1ejack
1
Ich denke, Field Tools ist der schnellste und einfachste Weg. Vielen Dank!
Roger
Erstellen Sie einen neuen, leeren Inhaltstyp. Tools Registerkarte, Clone fields to this bundleund wählen Sie Felder aus einem vorhandenen Knoteninhaltstyp aus Add field instances.
Hugo
4

Ich fand das (relativ neue) Bundle Inherit- Modul eine sehr einfache Möglichkeit, dies zu tun. Stellen Sie sicher, dass das Modul "Bundle Inheritance Node" (bundle_inherit_node) zusätzlich zum Modul bundle_inherit aktiviert ist. Beim Erstellen neuer Inhaltstypen wird dann eine neue Registerkarte "Inheritance" angezeigt.

(Es gibt Ihnen auch die Wahl zwischen "soft inherit" und "strict inherit" ... soweit ich das beurteilen kann, erstellt "soft inherit" einfach eine einmalige Kopie der Felder, während "strict inherit" den Überblick über die Felder behält Vererbungshierarchie.)

Matt Browne
quelle
4

Am einfachsten ist es, Bundle Copy zu verwenden - die Version 7.2, die sich in der Entwicklung befindet, aber für mich perfekt funktioniert hat.

Rufen Sie nach der Installation des Moduls die Seite "Inhaltstypen" auf und klicken Sie auf die neue Registerkarte "Klonen".

Wählen Sie unter "Quellpaket" den Inhaltstyp aus, den Sie klonen möchten.

Geben Sie unter "New Bundle Name" den Namen des neuen Inhaltstyps ein, den Sie erstellen möchten. Klicken Sie auf "Klonen" und Sie werden diesen neuen Inhaltstyp in Ihrer Liste sehen.

Field Tools erledigt auch die Arbeit, aber es ist nicht so einfach.

Monique Hanford
quelle
1

Nur für die Geschichte gibt es ein weiteres Modul, das damit umgehen kann.

Config in Code (CINC)

TheodorosPloumis
quelle