Estou usando o Views PHP para reescrever campos no Views. Eu posso acessar todas as variáveis, mas aquelas que têm um modo de compilação. No meu caso, eu tenho conteúdo: Campo Nó (que pode ser de construção de acordo com qualquer exibição), que deve ser acessado usando a variável $row->nodefield
. No entanto, o conteúdo dessa variável está sempre vazio. Eu tentei com outras variáveis e todos os campos com um modo de compilação não serão renderizados no Views PHP .
Este é um problema de design ou estou faltando alguma coisa?
Estou usando o Drupal 7 e Views 3
EDITAR
Usando dpm () nos valores disponíveis, retorne o seguinte:
dpm ($ linha)
dpm ($ dados)
dpm($data)
no campo de valor, Visualizações retorna uma "chamada para dpm função indefinida ()" erro"Os
$row
itens Variáveis disponíveis no Views são inúteis para obter valores de campo. Mas você não precisa usarnoad_load
para obter os dados necessários. Primeiro, como de costume, oculte a saída do campo que você deseja reescrever e, em seguida, no campo Código de saída do seu campo PHP, você pode usar$data
o seguinte:Nesse caso, estou removendo tags não permitidas e atribuídas ao conteúdo para uso em uma exportação NITF. Se você não tem certeza do que está dentro
$data
, é claro que podeprint_r($data)
dar uma olhada.fonte
$data->field_field_body[0]['raw']['value']
para obter o valor bruto.Dica adicional: A matriz de dados $ realmente contém os dados brutos do nó e pode ser impressa. Mas, para renderizá-lo corretamente, precisamos processar os campos com funções como field_view_field .
fonte
Você está tentando fazer isso dentro das visualizações? Por que não apenas tema o próprio modelo de visualizações em vez de usar o PHP global? Não tenho certeza se print_r funcionará dentro do campo de exibição. Se fosse eu, basta clicar em theme -> information, você verá algo como views-view-field - MyViewName.tpl.php
(edite, esclareça) Na pasta do tema do módulo de visualizações, copie "views-view-field.tpl.php" e renomeie-o para "views-view-field - MyViewName.tpl.php" e coloque-o na pasta / templates no seu site deles. No arquivo, você verá algo como
Você pode excluir isso e adicionar todos os seus campos manualmente, como
etc. Ou envolva a saída $ com o que quiser.
Além disso, nunca tive muita sorte com o DEVEL, sempre uso:
Em seguida, observe a fonte da página para obter as variáveis. Talvez eu esteja apenas usando DEVEL errado, mas acho que posso obter as variáveis para cada linha muito mais facilmente com um var_dump antigo e regular do PHP.
fonte
Passei dois dias para encontrar a solução. A maneira mais fácil é atualizar o "Views Php Module" para 7.x-2.x-dev. O mantenedor corrigiu esse problema em sua versão 2.x.
Você pode fazer o download aqui (certifique-se de baixar o 7.x-2.x-dev ): https://www.drupal.org/project/views_php
A esperança pode ajudar alguém.
fonte
Você nunca deve armazenar código PHP no seu banco de dados (e com o View PHP, você o fará). Use um gancho Views para modificar os resultados.
fonte