Taxonomia com hierarquia em exposed views

147 views
Skip to first unread message

Capi Etheriel

unread,
Nov 19, 2012, 4:39:12 PM11/19/12
to drup...@googlegroups.com
Eu estou resolvendo classificação estado->cidade por taxonomias (me julguem)
E eu queria usar, em um exposed view form, um widget igual ao que tem aqui http://www.xpi.com.br/atendimento/encontre-um-escritorio.aspx
Como esse tipo de coisa pode ser abstraído (form widget pra taxonomias com hierarquias), resolvi sondar se alguém já viu algo assim.

Claro, se alguém quiser me sugerir uma alternativa pra guardar essa informação nos nodes (estado, cidade) que permita um widget desses, eu tb aceito.

Gedvan Dias

unread,
Nov 19, 2012, 4:55:42 PM11/19/12
to drup...@googlegroups.com
O Hierarchical Select faz isso, eu acho.

Recentemente eu precisei de algo semelhante, mas fiz tudo na mão, ou seja, um módulo personalizado fazendo form_alter, ajax, etc. Na parte da consulta (views filter), eu fiz só com Javascript.

Quanto a usar taxonomia, eu não vejo problema, desde que seja conjunto controlado de cidades e não um cadastro aberto (que pode ser qualquer cidade).

--
Gedvan P. Dias
gedvan.net / @gedvan




--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+...@googlegroups.com
Para ver mais opções: http://groups.google.com/group/drupal-br?hl=pt-BR_BR?hl=pt-BR

Capi Etheriel

unread,
Nov 19, 2012, 6:17:17 PM11/19/12
to drup...@googlegroups.com
pra exposed view forms, não rola usar o hierarchical select no d7...

Marcus VBP

unread,
Nov 19, 2012, 6:18:11 PM11/19/12
to drup...@googlegroups.com
já fiz isso com hierarchical select no www.jogovrum.com.br

para o cadastro eu baixei uma base de dados com todas as cidades, por estado. aí usei o taxonomy manager para facilitar o cadastro de termos (porque o módulo permite o cadastro em massa de termos).

Gedvan Dias

unread,
Nov 19, 2012, 11:05:00 PM11/19/12
to drup...@googlegroups.com
Pois é, essa parte de exposed views filter eu fiz com javascript e um módulo simples para responder a chamada ajax.
Se quiser, posso te passar o código pra vc tentar adaptar.
--
Gedvan P. Dias
gedvan.net / @gedvan

Capi Etheriel

unread,
Nov 20, 2012, 8:44:42 AM11/20/12
to drup...@googlegroups.com
Aceito.

Eu percebi que usar o addressfield pode ser mais útil pra mim já que eu não preciso das páginas de termos e, bom, são endereços mesmo. O addressfield parece suportar bem o feeds pra importar tudo de um banco de dados. agora o que eu preciso é pegar todos os estados que foram cadastrados, bem como todas as cidades. db_query :/

Gedvan Dias

unread,
Nov 21, 2012, 9:07:32 AM11/21/12
to drup...@googlegroups.com
Capi,

Foi mal a demora. Se quiser se aventurar pelo javascript, postei aqui: http://pastebin.com/S96qgx2C
Infelizmente, o site não está no ar ainda, pra ver funcionando.

No meu caso a estrutura é um pouco mais complicada, é: Série -> Capítulo -> Assunto
Capítulo e assunto são termos (pai e filho) de um vocabulário. Mas a Série é outro vocabulário, que é usado como field nos Capítulos.
Eu criei também um módulo bem simples só pra responder as requisições ajax.

Se for usar Address Field, dá uma olhada no módulo que criei: http://drupal.org/sandbox/gedvan/1586058
Ele tem um banco com todas as cidades do Brasil e faz autocomplete. E ainda consulta endereço por CEP no site dos Correios.

Abraço!
--
Gedvan P. Dias
gedvan.net / @gedvan

Capi Etheriel

unread,
Nov 22, 2012, 6:50:48 AM11/22/12
to drup...@googlegroups.com
Gedvan, valeu! Esse seu widget pro addressfield vai ser bem útil :)
Eu precisava pegar não todas as cidades mas todas as cidades que já foram salvas (em nodes publicados).
Como eu precisava aprender a usar o db_select, resolvi criar uma função que possa ser útil pra mais pessoas: https://gist.github.com/4130742

Aceito críticas. Tenho certeza que posso usar código do seu widget para completar meu trabalho. Muito obrigado :)

Capi Etheriel

unread,
Nov 22, 2012, 1:07:36 PM11/22/12
to drup...@googlegroups.com
Meu caso era diferente do [caso do gedvan][1]: o gedvan entra o nome da cidade e popula o campo de estado, eu precisava colocar o campo do estado e definir as opções de cidades via AJAX.

Na verdade, eu considerei usar o [jQuery Chained][2] mas isso implicava em carregar umas 400~500 opções de cara... Além de precisar [sobrescrever o theme_select][3] pra poder adicionar classes nas `<options>` (vide a idosa [issue no d.o][4]).

Enfim, eu fui resolver na mão. Escrevi uma [função de ajuda][5] pra pegar os valores do campo em nodes publicados (ou seja, que vão me dar opções úteis pro filtro). Daí procurei no [módulo examples][6] como fazer AJAX e vi que tinha exatamente o meu caso: [selects dependentes][7]. Só que eu queria fazer isso num exposed form do Views — que é [incompatível com os AJAX do Drupal core][8], porque (resumidamente) o Merlin achou uma má idéia exibir os campos do form_build na query da url (?form_id=views_exposed_form&locality=campinas).

Mas esse problema tá a caminho de ser superado no Views. Revisões são bem vindas :)
Já já posto uma feature que já vem com Views Exposed Forms configurados pra addressfields.

[5]: https://gist.github.com/4130742

Raphael Godoi Rocca

unread,
May 20, 2013, 2:37:40 PM5/20/13
to drup...@googlegroups.com
Cara.. alguma novidade a respeito?

Estou querendo fazer algo parecido...

Queria somente uma taxonomia com hierarquia.. e pesquisar com dois selects diferentes.. mas um populando um outro.. cidade e bairro... nada mais..
Reply all
Reply to author
Forward
0 new messages