Wie klone ich einen Inhaltstyp? [geschlossen]


13

Ich möchte einen Knotentyp klonen und ein paar Felder hinzufügen. Ich denke, das Einfachste ist, es zu duplizieren und damit zu beginnen, daran zu arbeiten.

Es scheint, dass es in Drupal 7 keine offizielle Möglichkeit gibt, einen Inhaltstyp zu klonen. Möglicherweise lassen die Funktionen dies zu, es gibt jedoch kein schriftliches Verfahren, wie dies geschehen könnte.

Ich habe sogar das Bundle Copy- Modul ausprobiert .

Was ist der beste Weg, um einen Inhaltstyp in Drupal 7 zu klonen?


Mir ist gerade aufgefallen, dass Sie versucht haben, ein Bundle zu kopieren. Ich benutze das die ganze Zeit. Was hat nicht funktioniert?
Clive


1
@ NikhilM Das Hinzufügen von Feldern macht dies zu einer ähnlichen Frage, jedoch nicht zu einem Dup von 11645.
mpdonadio

Antworten:


12

Am einfachsten ist es, das Bundle- Kopiermodul zu verwenden. Wenn dies jedoch nicht möglich ist, empfehle ich das Configuration Management- Modul.

Das Konfigurationsverwaltungsmodul ermöglicht die Verfolgung bestimmter Konfigurationen auf einer Drupal-Site, das Verschieben dieser Konfigurationen zwischen verschiedenen Umgebungen (lokal, dev, qa, prod) sowie das Verschieben von Konfigurationen zwischen völlig verschiedenen Sites (Migrieren von Konfigurationen). ohne die Verwendung von Modulen, deren gesamte Konfiguration der Site gehört.

Es ist im Grunde Funktionen mit den Sachen, die Sie nicht brauchen. Der einzige Zweck besteht darin, die Konfiguration von einem Standort zu einem anderen zu verschieben.


Wie benutze ich Bundle Copy? Ich habe den Artikeltyp exportiert. Wie ändere ich den Namen, bevor ich denselben Code importiere?
Vor dem

Führe einfach einen String aus und ersetze ... ersetze 'old_content_type' durch 'new_content_type'. Ich hatte noch nie ein Problem mit dieser Methode
Clive

Danke ... kann ich "article" ersetzen, um den Inhaltstyp des Artikels zu klonen?
Vor dem

Ja, aber achten Sie darauf, dass beim Ersetzen der Zeichenfolge die Groß- und Kleinschreibung beachtet wird und die Apostrophe enthalten (dies ist keine exakte Wissenschaft). So würde der PHP-Code aussehenstr_replace("'article'", "'new_type'", $export_code);
Clive

Du meinst nur Maschinenname muss ausgetauscht werden?
Vor dem


3

Ich habe Content Type Clone erstellt, das hier als Sandbox-Projekt verfügbar ist:

https://www.drupal.org/sandbox/davidfiaty/2745827

Sie können einen Inhaltstyp mit einem Klick klonen, ohne sich PHP-Code ansehen oder komplexe Manipulationen durchführen zu müssen.

Es ist im Moment noch ein Sandbox-Projekt, wird aber bald als offizielles Drupal-Modul verfügbar sein. Hör zu!

Edit 1: Die offizielle Version von Content Type Clone für Drupal 7 ist da! https://www.drupal.org/project/content_type_clone Drupal 8 Version kommt bald.

Bearbeiten 2: Die offizielle Version von Content Type Clone für Drupal 8 ist auf derselben Seite verfügbar.


2

Feature- Modul ist die beste Option noch.

Folgendes müssen Sie tun:

  • Exportieren Sie den Inhaltstyp, den Sie als Feature klonen möchten.
  • Benennen Sie den Inhaltstyp in Ihrer Drupal-Site um (dh ändern Sie den "Computernamen")
  • Laden Sie Ihr Feature hoch und aktivieren Sie es

Auf dieser Seite finden Sie möglicherweise die Antwort auf "Offizielle Methode zum Klonen eines Inhaltstyps in Drupal 7".


1
Dem kann ich leider nicht zustimmen. Bundle-Kopie ist viel einfacher zu verwenden (und leichter zu handhaben) als Funktionen. Ditto Konfiguration
Clive

Kannst du mir bitte sagen, welche Felder genau im exportierten Modul geändert werden sollen und über diese "offiziellen" Informationen verlinken?
21.

+1 @Clive - wir haben hier gerade Bundle Copy verwendet - es bietet eine Menüoption "Klonen" unter "Struktur" in den Drupal Admin / Config-Menüs, um den Inhaltstyp zu klonen. Genau das, was wir uns von diesem Modul erhofft haben. Es scheint gut zu funktionieren.
Therobyouknow

@monymirza Dazu müsste maschinengenerierter Code manuell bearbeitet werden, um den vom Feature generierten Inhaltstypcode zu suchen / ersetzen / umzubenennen. 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. Verwenden Sie die Dev-Version (zum Zeitpunkt des Schreibens derzeit 7.x-2.x-dev) von Bundle Copy (korrigiert meinen ursprünglichen Kommentar vom 1. Oktober 14 um 10:29 Uhr, um die Funktionalität zu erwähnen, die derzeit in der Dev-Version enthalten ist) Eine "Klon" -Menüoption im "Struktur" -Menü, die standardmäßig für diese Aufgabe erstellt wurde.
Therobyouknow
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.