Comment copier le type de contenu?

Réponses:

13

Si vous voulez dire exporter par doublon, utilisez le module Fonctionnalités .

Le module de fonctionnalités permet la capture et la gestion des fonctionnalités dans Drupal. Une fonctionnalité est une collection d'entités Drupal qui, prises ensemble, satisfont un certain cas d'utilisation.

Fonctionnalités fournit une interface utilisateur et une API pour prendre différents composants de construction de sites à partir de modules avec exportables et les regrouper dans un seul module de fonctionnalités. Un module de fonctionnalité est comme tout autre module Drupal, sauf qu'il déclare ses composants (par exemple les vues, les contextes, les champs CCK, etc.) dans son fichier .info afin qu'il puisse être vérifié, mis à jour ou annulé par programme.

hpn
la source
1
Cela semble être la meilleure méthode pour le moment. Malheureusement, il n'y a pas (encore?) De module comme Content Copy dans Drupal 6.
marcvangend
Je dois exporter puis importer, vous voulez dire?
Raptor
2
Les fonctionnalités sont exagérées pour copier un type de contenu. Il est destiné à regrouper diverses entités / modules / autres ensemble à des fins hautement personnalisées. Si vous voulez une simple copie d'un type de contenu, voir @ user3936 ci-dessous.
doub1ejack
J'ai trouvé que le module Bundles Inherit était le plus simple; voir ma réponse ci-dessous .
Matt Browne
19

Peut-être trop tard, vous pouvez utiliser le module Bundle Copy :

La copie de bundle remplace le module de copie de contenu qui réside dans le projet CCK pour Drupal 6. Prend en charge l'exportation / importation pour: les types de nœuds, la taxonomie, l'utilisateur, les champs de l'API de champ, les groupes de champs

MISE À JOUR 7.x-2.x-dev notes

Les fonctionnalités suivantes ont été ajoutées:

  • Export / import de Field Collection
  • Clonage de types de contenu
  • Ensembles d'exportation / importation d'entités commerciales

Drupal 8: Bundle Copy est dans Drupal 8 Core CMI.

Ccile
la source
1
La copie d'ensemble ne convient pas pour cloner un type de contenu vers un autre type de contenu sur le même site. Et, faire une recherche / remplacement n'est pas simple. Il existe des tableaux de nœuds qui font référence à d'autres types de contenu. Je ne l'ai pas tout à fait compris, mais j'ai demandé fiévreusement. Si je savais ce qui était sûr et pas sûr de changer, ce serait utile. Juste un avertissement. (Un utilisateur répondant à cette même demande a noté qu'il avait des erreurs de corruption de base de données lors de la recherche / remplacement de toutes les instances du nom de machine du type de contenu d'origine.
@ user7558 Bundle Copy ne convient pas pour cloner un type de contenu vers un autre type de contenu sur le même site. Oui, vous avez juste besoin de la plus petite intervention manuelle
Clive
Leur problème concerne le "Clonage des types de contenu sur le même site?" drupal.org/node/1589118
gagarine
1
7.x-2.x-dev prend en charge le clonage d'un type de contenu sur le même site via l'interface utilisateur.
mpdonadio
Je pense que Bundle Copy est l'option préférée car l'utilisation de l'approche des fonctionnalités impliquerait de modifier manuellement le code généré par la machine pour rechercher / remplacer / renommer le code de type de contenu généré par la fonctionnalité. À moins que l'on ne connaisse bien le code du module de fonctionnalité et la façon dont il génère ce code, il peut y avoir des inconnues / hypothèses sur le codage manuel de cette manière et des résultats malchanceux. Mise à jour le 1 oct. 14 commentaire 1 sur 2
therobyouknow
14

J'ai utilisé le module Outils de terrain et cela a fonctionné parfaitement.

J'ai simplement créé mon deuxième type de contenu, utilisé cette fonctionnalité de module pour cloner tous les champs vers le nouveau type de contenu, puis désinstallé le module. La copie et les fonctionnalités du bundle semblent être des moyens ridicules pour dupliquer un type de contenu, c'était super simple et exactement ce que je voulais.

leexonline
la source
Si tout ce que vous voulez faire est de dupliquer un type de contenu personnalisé complexe, c'est la voie à suivre. Les fonctionnalités ont beaucoup de frais généraux inutiles et votre type de contenu est lié à un module généré. Bleh. Utilisez ceci. Installez / activez, accédez au type de contenu que vous souhaitez cloner, recherchez un Clone Fieldsonglet en haut, sélectionnez les champs à copier, le nœud vers lequel les copier et vous avez terminé.
doub1ejack
1
Je pense que Field Tools est le moyen le plus rapide et le plus simple. Je vous remercie!
Roger
Créer un nouveau type de contenu vide, Toolsonglet, Clone fields to this bundle, sélectionnez les champs à partir d' un type de contenu de nœud existant, Add field instances.
Hugo
4

J'ai trouvé que le module (relativement nouveau) Bundle Inherit était un moyen très simple de le faire. Assurez-vous d'activer le module "Bundle Inheritance Node" (bundle_inherit_node) en plus du module bundle_inherit, vous obtiendrez alors un nouvel onglet "Inheritance" lors de la création de nouveaux types de contenu.

(Il vous donne également le choix entre "hériter en douceur" et "hériter strictement" ... pour autant que je sache, "hériter en douceur" fait simplement une copie unique des champs tandis que "hériter strictement" garde une trace de la hiérarchie d'héritage.)

Matt Browne
la source
4

La manière la plus simple est d'utiliser Bundle Copy - la version 7.2 qui est en développement mais qui a parfaitement fonctionné pour moi.

Après avoir installé le module, accédez à votre page "types de contenu" et cliquez sur le nouvel onglet "cloner".

Sous "Ensemble source", sélectionnez le type de contenu que vous souhaitez cloner.

Dans "Nouveau nom de groupe", saisissez le nom du nouveau type de contenu que vous souhaitez créer. Cliquez sur "cloner" et vous verrez maintenant ce nouveau type de contenu dans votre liste.

Field Tools fait également le travail, mais ce n'est pas aussi simple.

Monique Hanford
la source
1

Juste pour l'historique, il y a un module de plus qui peut gérer cela.

Config in Code (CINC)

TheodorosPloumis
la source
1

Sinon, Content Type Clone vous permet de le faire rapidement et simplement, sans avoir à regarder le code PHP ou effectuer des manipulations complexes:

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

C'est un projet sandbox pour le moment, mais il sera bientôt disponible en tant que module Drupal officiel.

Edit: La version officielle de Content Type Clone pour Drupal 7 est arrivée! https://www.drupal.org/project/content_type_clone La version Drupal 8 sera bientôt disponible.

David Fiaty
la source