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

Itens ativos

  • Qual tutorial você gostaria de ter no Drupal Brasil?
  • Como criar novas regiões p/ trabalhar com blocos?
  • Alguém aqui já utilizou o slideshow pro? problema com multiplas galerias
  • URGENTE: Criar múltiplas galerias de fotos, com chamada na página principal
  • Preciso de dica: por onde começar a construir esta loja virtual
  • Como aumentar o formulário de contato?
  • E-Commerce para pizzarias... como faço para pedir dois sabores numa pizza?
  • Exibição de conteúdo relacionado em blocos.
  • Bloco login sumiu... oq faço?
  • Upgrade PROBLEMATICA!!
mais

Enquete

Qual tutorial você gostaria de ter no Drupal Brasil?
Tutorial sobre Views
36%
Tutorial sobre CCK
0%
Tutorial sobre criação de Temas
9%
Tutorial sobre criação de Módulos
55%
Um outro (especifique nos comentários)
0%
Total de votos: 11
  • 4 comentários
  • 78 leituras
  • Enquetes antigas

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

Executando uma view pelo código

Este recurso é muito bom para usar no desenvolvimento de temas para drupal para criar um bloco de notícias ou últimos posts do fórum na área de conteúdo.

Bem, o módulo view disponibiliza duas funções que retornam o HTML já processado pelo módulo. As funções são: views_view_page e views_view_block. Ambas esperam o id da view ou o nome da view como primeiro parâmetro.

Ex.:

function meumodulo_page() {
  $output = views_view_page('ultimosartigos');

  return $output;
}

Simples né?

Flw!

Enviado por pedrofaria em qua, 26/03/2008 - 17:35.
  • Por favor, se logue ou se registre para poder enviar comentários
  • 271 leituras

Pedro, não entendi muito

Pedro, não entendi muito bem.
Poderia mostrar um exemplo com aplicação dessa function?
De onde vem esse 'ultimosartigos'?

Enviado por rebelatto em ter, 08/04/2008 - 10:57.
  • Por favor, se logue ou se registre para poder enviar comentários

Entendi como funciona. O

Entendi como funciona.

O "print views_view_page('nomedaview');" funciona normalmente.
Mas como eu estava mexendo com views_view_block encontrei algumas dificuldades.

Descobri que a função views_view_block() retorna um array então para mostrar seu conteudo fiz:

$teste[] = views_view_block('nomedaview');
print $teste[0]['content'];

Funcionou perfeitamente porque, no meu caso, eu só precisava do primeiro valor da view.

Para que vocês possam usá-lo, recomendo o código:

$teste[] = views_view_block('nomedaview');
for ($i=0; $i<count($teste); $i++ ) {
    print $teste[$i]['content'];
}

Se usar, depois me diga se funcionou.

Obs: Estou usando Drupal 5.5

Enviado por rebelatto em seg, 02/06/2008 - 18:23.
  • Por favor, se logue ou se registre para poder enviar comentários

pq $teste[] = e nao $teste =

pq $teste[] = e nao $teste = ?????

parabens pela curiosidade e resoluçao do problema... :)

--
Pedro Faria de Miranda Pinto
http://www.eusouopedro.com
http://www.phpavancado.net
Bate Papo sobre Drupal? irc://irc.freenode.net/drupal-br

Enviado por pedrofaria em seg, 02/06/2008 - 21:30.
  • Por favor, se logue ou se registre para poder enviar comentários

poderia ser só $teste

poderia ser só $teste mesmo.
não sei pq optei por $teste[]...
como o nome da variável indica, estava só testando rs
dai deu certo e colei aqui...

$teste = views_view_block('nomedaview');
for ($i=0; $i<count($teste); $i++ ) {
    print $teste[$i]['content'];
}

Enviado por rebelatto em ter, 03/06/2008 - 13:53.
  • Por favor, se logue ou se registre para poder enviar comentários

Fiz uma pequena confusão

Fiz uma pequena confusão quando optei por $teste[].
Depois que pedro me alertou sobre isso, disse que poderia ser só $teste mesmo...
Mas.. testando hoje.. percebi que minha lógica estava errada.
Desculpem-me por estar corrigindo de novo meu código...
Esqueçam os meus códigos anteriores.
A forma certa é:

$teste = views_view_block('nomedaview');
print $teste['content'];

Agora eu já testei e estou usando essa forma. Asseguro que é a forma correta e não vou precisar mudar de novo. ok? rs

Eu fiz uma confusão com aquele for... esqueçam isso... não precisa do for e nem da matriz.. é só por o "$teste['content']" mesmo.

Valeu Pedro por me levar a melhorar o meu código.

Enviado por rebelatto em qua, 04/06/2008 - 11:39.
  • Por favor, se logue ou se registre para poder enviar comentários
Designimage

Este site é feito, orgulhosamente, com Drupal.