Olá a todos.
Tenho um problema que à partida é simples, mas está a partir-me a cabeça no Drupal 7.
Criei um Content Type específico, que contém, além doutros, um field "Category", onde se insere Terms de taxonomia no vocabulário "Category".
Esse vocabulário "Category" tem vários níveis, com termos avós, pais e filhos.
Quando estou a editar um nodo desse tipo de conteúdo, consigo perfeitamente seleccionar um termo "X", filho de pai "P" e neto de avô "A". Quando o nodo é gravado, a informação está perfeitamente guardada.
Mas o que não percebo é como mostrar a linhagem completa no nodo, pois apenas me mostra o termo "X".
O que preciso de mostrar é:
A > P > X
Tal como os breadcrumbs, portanto não deve ser difícil, mas não consigo encontrar o que fazer nem como o fazer.
Inclusive estou a tentar alterar o field com field--field_category.tpl.php, mas não sei como fazer para "descobrir" os termos avo, pai e filho para os mostrar.
Alguém sabe como? Ando a ler o a taxonomia do API do D7, mas ainda sou demasiado noob para perceber onde tenho de alterar o código para o transformar no que quero.

Comments
Easy way out
Usa um panel e escolhe mostrar toda a hierarquia como links :)
Panels embroncou...
Estava a tentar a tua solução, mas o panels deu-lhe de maluca.
Apareceu isto quando tento criar uma selection rule:
An AJAX HTTP error occurred.
HTTP Result Code: 400
Debugging information follows.
Path: http://www.vilavitaparcgallery.com/v3/ctools/context/ajax/access/add/pag...
StatusText: Bad Request
ResponseText:
400 Bad Request
Bad Request
Your browser sent a request that this server could not understand.
Acho que o caminho ficou mal formado (%2A). Tentei em Chrome, FF5 e Safari.
Ideias? Está actualizado com a versão Alpha3.
<< I tried others - still returned to Drupal. >>
Usa as versões dev
do Panels e do CTools. Com essas funciona.
Algumas sugestões
Olá
Há coisas nada simpáticas no Drupal, e esta é uma delas. O modo taxonomia não faz isto de bandeja.
A forma mais simples de resolver o problema e recomendo-ta se puderes, é permitires na criação do teu field Term reference no content type que sejam introduzidos mais que um termo, tendo de haver o cuidado de selecionar o parent e o child pretendidos.
No Views, chamar o Taxonomia termo: pai nas relações. Entretanto, incluir o term reference: name na área fields duas vezes, um com a relação, outro sem relação. No primeiro caso, apresenta o termo parent, no segundo, o termo child Depois com o css, coloca-os todos inline ou destaques diferentes.
Estive a ver a API e o mais diretamente relacionado é: taxonomy_get_parent, taxonomy_get_parents_all, taxonomy_get_childs, dependendo da base de partida.
Espero que não seja problemático permitir mais que um termo na criação do nó, senão segue para o views. Vou entretanto vendo se existe uma forma otimizada de o fazer...
Dar a volta...
Antes de mais, obrigado a todos.
Bem, acabei por dar a volta de outra forma, usando um pouco da sugestão da camorim.
Como estou a utilizar o módulo Hierchical Select para a edição da taxonomia com hierarquia, activei a opção "multi-terms", e seleciono individualmente o termo pai, o filho e o final. (tenho de fazer a assignação 3 vezes, uma para cada termo).
Assim já consigo ver (e selecionar num menu) a hierarquia.
Apesar do problema manter-se se apenas seleciono o termo final, e da solução ser deselegante (se fosse um cliente não ia gostar, né?), funciona.
Mais tarde tentarei perceber porque tenho de assignar os 3 niveis. Se conseguir arranjar forma de indicar que cada nível também é um termo, fico safo.
Obrigado pela ajuda.
<< I tried others - still returned to Drupal. >>
Gerar um código
Continuando com a taxonomia, e utilizando a mesma taxonomia acima descrita, gostaria de criar um código automático que fosse preenchido num campo do nodo. Por exemplo, para um nodo classificado sob os termos "hierarquizados"
ALOJAMENTO X (nivel1) > Localização Y (nivel 2) > Descritivo Z (nivel 3)
e em que
ALOJAMENTO = ACC
Localização Y = LOY
Descritivo Z = DEZ
o nodo preenchia automaticamente um campo com o resultado final ACC-LOY-DEZ-01 (01 é um número inteiro com serialização automática para items da mesma classificação - portanto se existir outro código alfabetico igual).
Como acham que seria a melhor forma de fazer isto?
Eu pensei em criar um campo extra no type da taxonomia do vocabulário necessário.
Assim, pelo menos consigo definir os códigos abreviados necessários para cada termo.
O campo no content type dos nodos que preciso também é simples, mas o seu preenchimento automático é que não.
Devo:
Aceitam-se sugestões :)
<< I tried others - still returned to Drupal. >>