Para responder a sus preguntas exactamente:
Creación de un tipo de contenido en la instalación de enlace : utiliza node_type_save () para crear el tipo de contenido, aquí hay un ejemplo de webform.install:
// Create the default webform type.
$webform_type = array(
'type' => 'webform',
'name' => st('Webform'),
'base' => 'node_content',
'description' => st('Create a new form or questionnaire accessible to users. Submission results and statistics are recorded and accessible to privileged users.'),
'custom' => TRUE,
'modified' => TRUE,
'locked' => FALSE,
);
$webform_type = node_type_set_defaults($webform_type);
node_type_save($webform_type);
node_add_body_field($webform_type);
Qué hacer en hook_uninstall : Básicamente, simplemente limpie después de usted mismo, así que elimine las variables creadas por su módulo (usando variable_del () ), elimine los archivos cargados por el módulo (usando file_unmanaged_delete_recursive () ), elimine los tipos de contenido definidos (usando node_type_delete () ), etc.
¡Espero que esto ayude!
Una de las mejores formas de mantener esta información en el código es usar funciones . Las características se pueden poner en código:
La lista continua.
Una buena característica de las características es la integración drush
drush features
le dará una lista de todas las características en el sitio, y su estadodrush features revert all
revertirá todas las características a lo que está en el código (realmente útil para ejecutar después de las implementaciones)Ayuda esto ayuda
fuente
Consulte el módulo de ejemplos D7 . node_example tiene instalación y desinstalación.
Es posible que pueda desarrollar el tipo con las herramientas de interfaz y luego crear una función (con el módulo de funciones) y extraer partes relevantes en la función de instalación de su módulo personalizado.
fuente
Si desea crear un nuevo tipo de contenido con algunos campos, puede usar el siguiente código.
Este código me funciona perfectamente.
fuente
Lo hice en el módulo MySpace Sync .
Recuerdo juntar eso de varias fuentes, pero no recuerdo cuáles eran todas las fuentes. Puede navegar por el repositorio git allí para ver lo que hice, pero es básicamente una exportación de cada tipo de contenido con el módulo Content Copy de CCK en la instalación, y luego elimina todos los nodos antes de eliminar el tipo de contenido en la desinstalación.
fuente
Pruebe el siguiente enlace, será útil.
API de campo de Drupal 7: configure un nuevo tipo de contenido en la instalación y agregue campos
fuente