Eu tenho um vocabulário amplo e as visualizações de administrador ainda não funcionam para taxonomia. O Taxonomy Manager também não faz isso. Existem opções para exclusão de termos em massa?
7
taxonomy-terms
giorgio79
fonte
fonte
Um método favorito de excluir conteúdo em massa por tipo de conteúdo, vocabulário de taxonomia, etc. utiliza o módulo http://drupal.org/project/devel . Para excluir todos os termos de um vocabulário:
Voila-- vocabulário vazio, caso contrário intocado.
fonte
Você pode usar o seguinte comando:
Se não funcionar, limpe o cache (por exemplo, memcached).
Ou de maneira mais rápida, usando a seguinte consulta SQL suja:
Onde 123 é o seu ID de vocabulário que você deve alterar.
Você pode obter
vid
o nome do seu vocabulário usando o seguinte comando:Veja também:
fonte
drush sqlq "DELETE FROM taxonomy_term_data WHERE vid = (SELECT vid FROM taxonomy_vocabulary WHERE name = 'vocabulary_name')"
As visualizações de administrador fornecem apenas visualizações VBO pré-configuradas. O VBO em si funciona bem com os termos (ou qualquer outro tipo de entidade). Instale o VBO você mesmo e crie a exibição desejada, depois use o VBO para excluir os termos.
fonte
Para excluir em massa todos os termos de taxonomia dentro de um vocabulário no Drupal 7, use a
taxonomy_term_delete
função fazendo um loop por todos os termos.Considere o seguinte exemplo:
Ainda mais fácil, se você tiver o Drush e o módulo Devel instalado, poderá usar o seguinte comando para excluir em massa todos os termos em uma taxonomia * no conforto do seu shell:
* Isso pressupõe que você tenha o módulo Devel Generate ativado, o que pode ser feito se necessário:
$ drush en -y devel && drush en -y devel_generate
fonte
Eu recomendaria o uso de Admin Views com VBO para obter uma visualização para substituir a exibição padrão dos termos de taxonomia.
O que você precisa fazer é o seguinte:
fonte
Acabei de escrever uma postagem no blog sobre como adicionar um botão para excluir todos os termos de taxonomia aqui .
Essencialmente:
Estou usando o plugin jQuery Easy Confirm Dialog para isso. Primeiro baixe a biblioteca daqui e coloque-a na pasta js de temas.
Em seguida, podemos adicionar um botão "Excluir todos os termos" com um pequeno código em um módulo personalizado:
Agora precisamos definir o caminho para nossa função para excluir os termos:
E, finalmente, adicione a funcionalidade para excluir os termos:
fonte
Apenas para completar as respostas, há um módulo fazendo exatamente isso. É o módulo taxonomy_delete_all_terms . Eu usei e funciona.
fonte
Minha resposta está relacionada tangencialmente à pergunta original. Com base na resposta do kenorb , se você deseja limpar TODOS os vocabulários do seu site, execute o seguinte:
fonte
Como foi dito por @texas_bronius, se você tiver o devel generate ativado, você pode usá-lo, mas dando um passo adiante, se você também tiver o drush instalado, eu uso este comando:
E basta substituir [vocabulary_machine_name] pelo nome da máquina do seu vocabulário. O "0" é para quantos termos adicionar e "--kill" é para remover os que estão atualmente lá.
fonte