Tengo un vocabulario extenso y las vistas administrativas aún no funcionan para la taxonomía. El Administrador de Taxonomía no hace esto también. ¿Hay alguna opción para la eliminación masiva de términos?
7
taxonomy-terms
giorgio79
fuente
fuente
Un método favorito de eliminación masiva de contenido por tipo de contenido, vocabulario de taxonomía, etc. utiliza el módulo http://drupal.org/project/devel . Para eliminar todos los términos en un vocabulario:
Voila: vocabulario vacío, por lo demás intacto.
fuente
Puede usar el siguiente comando:
Si no funciona, asegúrese de borrar su caché (por ejemplo, memcached).
O de manera más rápida utilizando la siguiente consulta SQL sucia:
Donde 123 es su identificación de vocabulario que debe cambiar.
Puede obtener
vid
su nombre de vocabulario con el siguiente comando:Ver también:
fuente
drush sqlq "DELETE FROM taxonomy_term_data WHERE vid = (SELECT vid FROM taxonomy_vocabulary WHERE name = 'vocabulary_name')"
Las vistas de administrador solo proporcionan vistas de VBO preconfiguradas. VBO funciona bien con los términos (o cualquier otro tipo de entidad) Instale VBO usted mismo y cree la vista que desee, luego use VBO para eliminar los términos.
fuente
Para eliminar todos los términos de taxonomía dentro de un vocabulario en Drupal 7, use la
taxonomy_term_delete
función recorriendo todos los términos.Considere el siguiente ejemplo:
Aún más fácil, si tiene Drush y el módulo Devel instalados, puede usar el siguiente comando para eliminar en masa todos los términos de una taxonomía * desde la comodidad de su shell:
* Esto supone que tiene habilitado el módulo Devel Generate, que se puede hacer si es necesario:
$ drush en -y devel && drush en -y devel_generate
fuente
Recomendaría usar Vistas de administrador con VBO para obtener una vista que reemplace la visualización predeterminada de los términos de Taxonomía.
Lo que tienes que hacer es lo siguiente:
fuente
Acabo de escribir una publicación de blog sobre cómo agregar un botón para eliminar todos los términos de taxonomía aquí .
Esencialmente:
Estoy usando el complemento jQuery Easy Confirm Dialog para esto. Primero descargue la biblioteca desde aquí y colóquela en la carpeta js de sus temas.
Luego podemos agregar un botón "Eliminar todos los términos" con un pequeño código en un módulo personalizado:
Ahora necesitamos definir la ruta a nuestra función para eliminar los términos:
Y finalmente agregue la funcionalidad para eliminar realmente los términos:
fuente
Solo para completar las respuestas hay un módulo que hace exactamente esto. Es el módulo taxonomy_delete_all_terms . Lo he usado y funciona.
fuente
Mi respuesta está relacionada tangencialmente con la pregunta original. Sobre la base de la respuesta de Kenorb , si desea limpiar TODOS los vocabularios en su sitio, puede ejecutar lo siguiente:
fuente
Como dijo @texas_bronius, si tiene habilitado el desarrollo de desarrollo, puede usarlo, pero yendo un paso más allá, si también tiene instalado drush, utilizo este comando:
Y simplemente reemplace [vocabulary_machine_name] con el nombre de la máquina de su vocabulario. El "0" es para cuántos términos agregar y "--kill" es para eliminar los que están actualmente allí.
fuente