¿Cómo clonar un tipo de contenido? [cerrado]

13

Quiero clonar un tipo de nodo y agregar algunos campos en él. Creo que lo más simple será duplicarlo y comenzar a trabajar en él.

Parece que no hay una forma oficial de clonar un tipo de contenido en Drupal 7. Las características pueden permitirlo, pero no hay un procedimiento escrito sobre cómo se podría hacer.

Incluso he probado el módulo Bundle Copy .

¿Cuál será la mejor manera de clonar cualquier tipo de contenido en Drupal 7?

AgA
fuente
Acabo de darme cuenta de que intentaste la copia de paquete ... Lo uso todo el tiempo, ¿qué no funcionó?
Clive
1
@NikhilM Agregar campos hace que esta sea una pregunta similar, pero no un duplicado de 11645.
mpdonadio

Respuestas:

12

La forma más fácil es usar el módulo de copia Bundle , pero si no puede hacer que funcione, le recomiendo el módulo de Gestión de la configuración .

El módulo de administración de configuración permite la capacidad de realizar un seguimiento de configuraciones específicas en un sitio de Drupal, proporciona la capacidad de mover estas configuraciones entre diferentes entornos (local, dev, qa, prod) y también mover configuraciones entre sitios completamente diferentes (migrar configuraciones) sin el uso de módulos con toda la configuración propiedad del sitio.

Básicamente son características con las cosas que no necesitas. Su único propósito es mover la configuración de un sitio a otro.

Clive
fuente
¿Cómo usar Bundle copy? Exporté el tipo de artículo. ¿Qué debo hacer para cambiar su nombre antes de importar el mismo código?
AgA
Simplemente ejecute una cadena de reemplazo ... reemplace 'old_content_type' con 'new_content_type', nunca he tenido un problema al usar ese método antes
Clive
Gracias ... ¿puedo reemplazar "artículo" por clonar el tipo de contenido del artículo?
AgA
Sí, pero asegúrese de que su reemplazo de cadena distinga entre mayúsculas y minúsculas e incluya los apóstrofos (no es una ciencia exacta). Así se vería el código PHPstr_replace("'article'", "'new_type'", $export_code);
Clive
¿Quiere decir que solo se necesita reemplazar el nombre de la máquina?
AgA
4

Estoy usando el Módulo de herramientas de campo para D7; hace exactamente lo que necesitas.

elektrorl
fuente
¿Ayuda esto a migrar campos múltiples? No estoy seguro de cómo usarlo
Pal4life
3

He creado Content Type Clone, disponible como un proyecto de sandbox aquí:

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

Le permite clonar un tipo de contenido con un solo clic sin tener que mirar el código PHP o realizar manipulaciones complejas.

Todavía es un proyecto sandbox en este momento, pero pronto estará disponible como un módulo oficial de Drupal. ¡Echale un vistazo!

Edición 1: ¡El lanzamiento oficial de Content Type Clone para Drupal 7 ya está aquí! https://www.drupal.org/project/content_type_clone La versión de Drupal 8 estará disponible próximamente.

Edición 2: El lanzamiento oficial de Content Type Clone para Drupal 8 está disponible en la misma página.

David Fiaty
fuente
2

El módulo de funciones es la mejor opción hasta ahora.

Esto es lo que debes hacer:

  • Exporte el tipo de contenido que desea clonar como una característica.
  • Cambie el nombre del tipo de contenido (es decir, cambie el "nombre de la máquina") en su sitio de Drupal
  • Sube y habilita tu función

Esta página puede tener su respuesta para "forma oficial de clonar un tipo de contenido en Drupal 7".

monymirza
fuente
1
No puedo estar de acuerdo con eso lo siento. La copia de paquete es mucho más fácil de usar (y más liviana) que las características. Configuración de ídem
Clive
¿Puede decirme qué campos cambiar exactamente en el módulo exportado y vincular sobre esta información "oficial"?
AgA
+1 @Clive: acabamos de utilizar Bundle Copy aquí: proporciona una opción de menú 'clonar' en 'Estructura' en los menús de administración / configuración de Drupal para clonar el tipo de contenido. Exactamente lo que esperábamos al considerar este módulo. Parece que funciona bien.
therobyouknow
@monymirza esto implicaría editar manualmente el código generado por la máquina para buscar / reemplazar / cambiar el nombre del código de tipo de contenido generado por funciones. A menos que uno conozca bien el código del módulo de funciones y cómo genera este código, puede haber incógnitas / suposiciones sobre la codificación manual de esta manera y resultados desafortunados. Use la versión de desarrollo (al momento de escribir, actualmente 7.x-2.x-dev) de Bundle Copy (corrigió mi comentario original hecho el 1 de octubre de 14 a las 10:29 para mencionar la funcionalidad actualmente en la versión de desarrollo) ya que esto proporciona una opción de menú 'clonar' en el menú 'estructura', fuera de la caja, fue hecha para esta tarea.
therobyouknow