O que eu instalei no meu site são os módulos Entity API e Entityform. O módulo Entityform permite criar formulários que qualquer usuário pode enviar e os campos dos formulários estão disponíveis para eu usar nas visualizações, semelhante à forma como um tipo de conteúdo funcionaria.
Normalmente, para puxar o valor de um campo de um nó para o meu modelo com php, eu faria o seguinte:
<?php echo $node->field_name[$node->language][0]['value']; ?>
No entanto, isso não funciona com entidades / entidades.
Alguém sabe uma maneira de fazer isso para um campo dentro de um formulário da entidade? Algumas pessoas sugeriram o uso do devel e da função dpm (), mas também não faço ideia de como usá-los.
Alguns exemplos específicos de como obter o valor desse campo realmente me ajudariam bastante.
:)
Sem usar o módulo API da entidade, para obter o valor de um campo associado a uma entidade, use field_get_items () ; você apenas passa o tipo de entidade, o objeto da entidade e o nome do campo.
Por exemplo, para obter o corpo de um comentário, use o código a seguir.
Para obter o corpo de um nó, você pode usar o seguinte código.
O objeto de entidade é o objeto retornado de entity_load () ou uma função de carregamento específica para essa entidade, como node_load () , comment_load () ou taxonomy_term_load () . No Drupal 8, essas funções são para wrappers
entity_load()
.Se você quiser mostrar o conteúdo do campo, use field_view_field () .
fonte
Você normalmente pode obter as propriedades $ node porque você ou algum código que está usando está chamando node_load () de antemão.
Você precisa carregar completamente uma entidade antes de poder obter suas propriedades.
Use entity_load () http://api.drupal.org/api/drupal/includes%21common.inc/function/entity_load/7
Na verdade, você terá um objeto de entidade carregado que poderá obter nos campos de.
Usar o dpm () é o mesmo que qualquer outra função, você só precisa instalar o módulo devel.
Então, faça algo assim:
fonte
Experimentar:
Isso deve imprimir o valor do campo.
Se for uma matriz, tente o seguinte:
Lembre-se de que essa é a saída bruta e, dependendo da origem do valor, talvez seja necessário higienizar o valor manualmente aqui.
Consulte: função field_get_items
fonte
Coloque isso dentro de um de seus módulos e vá para a página do formulário e você encontrará as informações que está procurando.
fonte
Em vez de usar o dpm e instalar esse módulo, eu uso:
Espero que isso ajude você a descobrir o valor.
fonte