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
vidsu 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_deletefunció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_generatefuente
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