Como executar querys no Drupal sem Views no Drupal 7

21 views
Skip to first unread message

João Paulo Barbosa Neto

unread,
Sep 8, 2011, 2:41:51 PM9/8/11
to drupal-br
Pessoal,

Não sei se é uma dúvida básica, mas gostaria de saber como exibo o conteúdo do meu site sem o módulo Views, e utilizando o core do Drupal. Por exemplo:

  • Quero exibir as 5 ultimas noticias (query por tipo de conteúdo)
  • Quero exibir as notícias do termo de taxonomia "Brasil" 
  • Quero criar uma página que exiba esses dois blocos ao mesmo tempo
Sei fazer isso com o módulo Views e gostaria muito de saber como fazê-lo por linha de comando no meu .tpl.php. Se alguém puder ajudar pelo menos com um link para um tutorial ou para a página da documentação do drupal que fala como executar essas querys (ou ambos) já será suficiente.

--
João Paulo Barbosa Neto
@jpaulobneto  // 83 3021-5241
------------------------------------------------------
Webdeveloper
HAGG | Agência Interativa | @hagg_interativa
http://www.hagg.com.br
GoogleMaps: http://migre.me/3lfw
------------------------------------------------------
Graduando em Sistemas para Internet pelo Instituto Federal de Educação, Ciência e Tecnologia da Paraíba - IFPB
------------------------------------------------------

Andrews Lince

unread,
Sep 8, 2011, 2:44:41 PM9/8/11
to drup...@googlegroups.com
E aê, João!

Pelo que entendi da sua dúvida, acredito que o método db_query pode te ajudar. Dá uma olhada na documentação: http://api.drupal.org/api/drupal/includes--database--database.inc/function/db_query/7

Abraços,

Andrews Lince Andrade da Costa
Desenvolvedor Web
skype: andrews_lince
msn: andrews_lince
twitter: andrews_lince



--
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

João Paulo Barbosa Neto

unread,
Sep 8, 2011, 3:00:21 PM9/8/11
to drup...@googlegroups.com
Muito obrigado Andrews.

Eu quero fazer o que as Views fazem mas sem elas entendeu?

Pode parecer loucura mas é por aprendizado mesmo. Quero criar blocos e páginas contendo blocos manualmente. E queria saber se no core existem funções que me auxiliem a fazer isso, de forma que eu não fizesse a query bruta.

Mais alguma dica ou explicação rápida sobre o assunto? Se alguém já viu alguém explicando isso em algum lugar e puder postar o link também ajuda.

Helal Ferrari Cabral

unread,
Sep 8, 2011, 3:07:01 PM9/8/11
to drup...@googlegroups.com
Tudo que a view utiliza vem do core do drupal.

Sugiro tu dar uma olhada em api.drupal.org e estudar a parte de chamadas para o banco de dados.

Abs
Helal Ferrari Cabral
Analista de sistemas

ferrar...@gmail.com
+55 48 9122 6677
www.helalferrari.com

Felipe Eltermann

unread,
Sep 8, 2011, 3:10:31 PM9/8/11
to drup...@googlegroups.com
Vc basicamente tem que saber em que tabelas seus dados estão armazenados, consultá-las e gerar o HTML.

Para consulta, use o db_select (tem exemplos no fim da página).

De qq forma, vale pelo aprendizado mas, claro, a reposta é: use Views!

2011/9/8 Helal Ferrari Cabral <ferrar...@gmail.com>

Helal Ferrari Cabral

unread,
Sep 8, 2011, 3:13:37 PM9/8/11
to drup...@googlegroups.com
Vale uma ressalva, fazer consultas na unha não é uma boa prática, existem funções(não da para considerar como métodos...) que você faz acesso a diversas coisas sem escrever sql puro.

A views é uma ferramenta interssante por que além de construir as sqls eles fazem varios tratamentos onde evita que aquela tu sql dê problema. Principalmente quando temos um projeto que mexa com multilinguagem.

Eu recomendo vc realmente estudar mas se for para fazer um dia isso num projeto, aconselho ter cautela.

Abs.

João Paulo Barbosa Neto

unread,
Sep 8, 2011, 3:28:13 PM9/8/11
to drup...@googlegroups.com
Vlw gente pelas sugestões.

E Helal que funções seriam essas, pq pelo que entendi em http://api.drupal.org/api/drupal/includes--database--database.inc/group/database/7 tenho que fazer a consulta em SQL puro.

O que estou querendo saber é se justamente existem funções ou classes que evitem o uso de SQL puro e permitam que eu crie blocos e páginas com links em menus por código php de forma segura e e padronizada com o core do Drupal.

Se os senhores permitirem eu citar um exemplo de outro CMS que tive contato e que ilustra a minha dúvida, http://codex.wordpress.org/Class_Reference/WP_Query

Eu consigo criar um objeto através dessa classe que contem todas as informações e métodos necessários para eu recuperar meus dados sem precisar escrever SQL puro.

Por favor se eu falar alguma besteira não exitem em corrigir.

Helal Ferrari Cabral

unread,
Sep 8, 2011, 3:33:25 PM9/8/11
to drup...@googlegroups.com
Depende do que você quer João.
Para acessar um node tu nao precisa fazer um select * from nodes where nid=numerodonode.

Tu simplesmente acessa via node_load(e os parametros);

E assim por diante, eu não sei de cabeça todos e nem tem por que saber já que existe um site que contempla isso.

Por isso, como eu te disse é questão de vc pesquisar e estudar.

Pedro Rocha

unread,
Sep 8, 2011, 3:34:11 PM9/8/11
to drup...@googlegroups.com

João Paulo Barbosa Neto

unread,
Sep 8, 2011, 3:50:13 PM9/8/11
to drup...@googlegroups.com
Galera vou analisar tudo.

Desde já agradeço a todos pela ajuda e presteza.

Helal Ferrari Cabral

unread,
Sep 8, 2011, 4:03:21 PM9/8/11
to drup...@googlegroups.com
É isso ai Pedro.

Essa implementação do Wrapper já tinha no d6? Que me recordo não.

Pedro Rocha

unread,
Sep 8, 2011, 4:41:36 PM9/8/11
to drup...@googlegroups.com
Não, não, creio que ela seja devido à utilização da library PDO, que entrou no D7 somente.

Isso é a cara da HQL do Hibernate(Java), para mim. Engraçado como cada vez mais coisas que eu via no Java estão aparecendo no PHP e no Drupal :P

Muito bacana ver o PHP e o Drupal se tornando mais robustos :D

abs,
Pedro Rocha

-------------



2011/9/8 Helal Ferrari Cabral <ferrar...@gmail.com>
Reply all
Reply to author
Forward
0 new messages