• Cadastro
  • Fóruns
  • Manual
  • Projetos
  • Seminário
  • Tradução
  • Tutoriais
  • Dicas
Início

Itens ativos

  • Image Field - imagem não aparece
  • Site sobre o Pier de Ipanema
  • Subi o site mas imagens não aparecem
  • htaccess funciona em subdomínio mas não no raiz na locaweb
  • Duvidas com Formulários e Notícias
  • TiniMCE retira a tag 'rel=' do Lightbox2
  • Drupal no xammp -erro na instalação
  • Obter o URL Alias de um determinado caminho de taxonomia, através de PHP
  • Webform com %get - não funcionou
  • não sei trabalhar com o drupal
mais

Pesquisa

Google
Web Drupal Brasil

Login do usuário

  • Criar nova conta
  • Solicitar uma nova senha

Parceiros

Assine o RSS do Drupal-BR

RSS dos itens mais ativos

RSS do conteúdo

RSS dos comentários

Início » Fóruns » Suporte » Temas

Sobrescrever a função de taxonomia de um tipo de node específico

Oi amigos tudo bom?

Seguinte, eu tenho um tipo de conteúdo chamado "portfolio". criei um template de node específico para ele, o node-portfolio.tpl.php.

Agora vem o problema.

esse node tem duas taxonomias. Uma delas é Marcação Livre, e a outra é de Seleção Múltipla, com termos definidos.

Na listagem de termos do Node, são listados naturalmente tanto os termos da marcação livre quanto os termos selecionados na Seleção Múltipla. O Código HTML da página fica assim:

<div class="terms">
        <ul class="links inline">
                <li  class="first taxonomy_term_11"><a href="/marcusvbp/designlivre/categorias/tecnologias-utilizadas/adobe-flash" rel="tag" title="" class="taxonomy_term_11">Adobe Flash</a></li>
                <li  class="taxonomy_term_10"><a href="/marcusvbp/designlivre/categorias/tecnologias-utilizadas/adobe-photoshop" rel="tag" title="" class="taxonomy_term_10">Adobe Photoshop</a></li>
                <li  class="taxonomy_term_8"><a href="/marcusvbp/designlivre/categorias/tecnologias-utilizadas/css" rel="tag" title="" class="taxonomy_term_8">CSS</a></li>
                <li  class="taxonomy_term_13"><a href="/marcusvbp/designlivre/categorias/tags/desenvolvimento" rel="tag" title="" class="taxonomy_term_13">desenvolvimento</a></li>
                <li  class="taxonomy_term_1"><a href="/marcusvbp/designlivre/categorias/tecnologias-utilizadas/drupal" rel="tag" title="" class="taxonomy_term_1">Drupal</a></li>
                <li  class="taxonomy_term_9"><a href="/marcusvbp/designlivre/categorias/tecnologias-utilizadas/gimp" rel="tag" title="" class="taxonomy_term_9">GIMP</a></li>
                <li  class="taxonomy_term_5"><a href="/marcusvbp/designlivre/categorias/tecnologias-utilizadas/inkscape" rel="tag" title="" class="taxonomy_term_5">Inkscape</a></li>
        </ul>
</div>

Eu gostaria de fazer o seguinte:

1 - Listar apenas os termos da taxonomia de Seleção Múltipla;

2 - Adicionar uma classe e um "title" aos termos, veja o código alterado abaixo:

<div class="terms">
        <ul class="links inline">
                <li  class="first taxonomy_term_11"><a href="/marcusvbp/designlivre/categorias/tecnologias-utilizadas/adobe-flash" rel="tag" ***title="Feito com Adobe Flash"*** class="taxonomy_term_11 ***tooltip***">Adobe Flash</a></li>
                <li  class="taxonomy_term_10 ***tooltip***><a href="/marcusvbp/designlivre/categorias/tecnologias-utilizadas/adobe-photoshop" rel="tag" ***title="Feito com Adobe Photoshop"*** class="taxonomy_term_10">Adobe Photoshop</a></li>
                <li  class="
taxonomy_term_8 ***tooltip***"><a href="/marcusvbp/designlivre/categorias/tecnologias-utilizadas/css" rel="tag" ***title="Feito com CSS"*** class="taxonomy_term_8">CSS</a></li>
                <li  class="
taxonomy_term_1 ***tooltip***"><a href="/marcusvbp/designlivre/categorias/tecnologias-utilizadas/drupal" rel="tag" ***title="Feito com Drupal"*** class="taxonomy_term_1">Drupal</a></li>
                <li  class="
taxonomy_term_9 ***tooltip***"><a href="/marcusvbp/designlivre/categorias/tecnologias-utilizadas/gimp" rel="tag" ***title="Feito com GIMP"*** class="taxonomy_term_9">GIMP</a></li>
                <li  class="
taxonomy_term_5 ***tooltip***"><a href="/marcusvbp/designlivre/categorias/tecnologias-utilizadas/inkscape" rel="tag" ***title="Feito com Inkscape"*** class="taxonomy_term_5">Inkscape</a></li>
        </ul>
</div>

Conto com a ajuda da galera!

‹ Fonte no Drupal template.php não funciona ›
Enviado por marcus_vbp em sab, 19/07/2008 - 22:26.
  • Temas
  • Por favor, se logue ou se registre para poder enviar comentários
  • 177 leituras

marcus_vbp, vc disse que já

marcus_vbp,

vc disse que já está usando outro arquivo de template pra essa página, então, vc pode substituir a variavel $terms por uma função que vai pegar os termos direto do node, aí vc pode filtrar os que vc quer e pode fazer com que eles sejam exibidos do seu jeito! Voce pode utilizar o Dev Render do módulo Devel pra te ajudar. Por Exemplo:

<?php
 foreach($node->taxonomy as $termo) { //Aqui você navega em todos os termos de taxonomia que tem o seu node
  if($termo->tid=="TID_DO_TERMO_QUE_VOCE_QUER") {
    $nome_do_termo=$termo->name;
    $tid=$termo->tid;
    print "<li title='O_QUE_VOCE_QUIZER'>".l($nome_do_termo,'taxonomy/term/'.$tid)."</li>";
    }
 }
?>

Assim vc gera um li com link do termo que vc quizer e personaliza do seu jeito!

Qualquer dúvida é só falar!

/* Lucas Souza */

Enviado por lucssouza em seg, 21/07/2008 - 09:38.
  • Por favor, se logue ou se registre para poder enviar comentários

Cara, obrigado pela

Cara, obrigado pela resposta.

Infelizmente o código que você me passou retornou-me apenas o termo com ID = 1. E não era isso q eu queria.

Saca só, o node tem dois tipos de taxonomia (vocabulary):

Tags livres (id = 2)

Seleção Livre (id = 1):
-- termo 1 (tid = 1)
-- termo 2 (tid = 2)
-- termo 3 (tid = 3)
-- termo 4 (tid = 4)

eu gostaria de listar todos os itens do vocabulary "selecao Livre".

--
http://www.marcusvbp.com.br
http://www.nh18.com.br
http://inofensivo.blog.br

Enviado por marcus_vbp em seg, 21/07/2008 - 11:56.
  • Por favor, se logue ou se registre para poder enviar comentários

Consegui =) Eu fiz da

Consegui =)

Eu fiz da seguinte forma:

<?

                $termo_links = '<ul class="links inline">';

                foreach ((array)taxonomy_node_get_terms_by_vocabulary($nid, 1, $key = 'tid') as $term) {

                  $termo_links .= '<li class="termo_'. $term->tid .'"><a class="tooltip" title="Feito com '.$term->name.'" href="' . taxonomy_term_path($term) . '">'.$term->name.'</a></li>';

                 
                }
                $termo_links .= '</ul>';
                print $termo_links;


?>

A página que me ajudou a fazer isso foi:

http://drupal.org/node/88890

Agora eu gostaria de fazer o seguinte. Para manter tudo organizado e separar a parte lógica do tema, eu gostaria de separar esse código acima no template.php e no arquivo do tema só fazer um "print $termo_links".

É apenas para manter as coisas bonitinhas :)

--
http://www.marcusvbp.com.br
http://www.nh18.com.br
http://inofensivo.blog.br

Enviado por marcus_vbp em seg, 21/07/2008 - 14:08.
  • Por favor, se logue ou se registre para poder enviar comentários

ok! vc tá usando o drupal 5

ok! vc tá usando o drupal 5 aí eu não ia poder te ajudar mais...

Ainda bem q vc conseguiu!

/* Lucas Souza */

Enviado por lucssouza em seg, 21/07/2008 - 18:58.
  • Por favor, se logue ou se registre para poder enviar comentários
Designimage

Este site é feito, orgulhosamente, com Drupal.