Criando uma views com campos personalizados

Para que possamos criar campos personalizados em nossa views podemos utilizar o módulo Views Custom Field. Com ele podemos criar campos utilizando HTML e PHP de uma maneira simples e fácil.

Baixe o módulo clicando aqui ou através do drush: drush dl views_customfield.

Não sabe como usar o Drush?
Veja um screencast do Rafael Silva clicando aqui.



Após habilitar o módulo precisaremos criar uma views. Nesse exemplo criarei uma views utilizando o tipo de conteúdo "Artigos" e utilizarei o estilo de saída como tabela. Sinta-se a vontade para personalizá-la de acordo com sua necessidade.



O módulo Views Custom Field cria 3 novos tipos de campos que podemos utilizar:

  • Markup
  • PHP Code
  • Row Number


Confira abaixo como utilizar cada um dos campos


Markup

Com o Markup podemos colocar qualquer tipo de tag HTML em nosso campo. No meu exemplo colocarei apenas uma tag genérica e um texto: <strong>Campo Personalizado</strong>


Aqui está o resultado:



PHP Code

Com o PHP Code podemos ir muito além. Podemos escrever PHP puro diretamente no campo, como também podemos ter acesso ao demais campos da views. Todos os campos que antecederem o campo PHP Code, poderão ser acessados através da variável $data.

Para verificar o conteúdo da variável utilize o seguinte comando no campo "Valor": <?php var_dump($data); ?>



Por padrão, já teremos acesso ao nid do node em questão. Os demais itens serão os próprios campos da views. Em nosso caso, o título do node e o campo personalizado que foi criado anteriormente.

Vamos adicionar mais um campo. Esse campo será o status do node(node_status). Vamos utilizar o estilo de saída 'Verdadeiro/Falso'. Ele poderá ser 'excluído da exibição', e mesmo assim ainda será acessível através da variável $data.





Nesse exemplo vou fazer uma simples comparação e retornar uma mensagem ao usuário dependendo do status do node:

&lt;?php
  if($data-&gt;node_status == 0) {
    print 'Aguardando publicação';
  }
  else {
    print 'Publicado';
  }
  ?&gt;





Row Number

O Row Number é muito simples e o seu próprio nome já diz: ele mostrará o número(posição) daquele node em relação a views. Ele é similar ao campo Global > Contador de Resultados.

E aqui está o resultado final.
Até a próxima.

 


Comentários

Marcelo Spano

Grande Miguel,

Parabéns pelo tuto. Esses dias eu usei o Cutom Field para fazer uma parada muito doida. É bem interessante esse módulo. Breve vou postar a implementação que fiz no meu site.

Abraços

Alex

Boa! O customfield phpcode principalmente quebra um baita galho na hora de fazer aquelas customizações que não rola só com sobrescrever saída e evita sujar as mãos naqueles templates zuados de views... ;)

Abs!