Obtendo rótulos de campo da variável $ node


8

Como posso obter os rótulos de campos específicos em um nó, no Drupal 7?

O campo pelo qual estou interessado tem a seguinte estrutura:

    [field_text_question1] => Matriz (
      [und] => Matriz (
        [0] => Matriz (
          [value] => Estagiário de vendas
          [formato] => 
          [safe_value] => Estagiário de vendas
        ) 
      )
    )

Respostas:


13

A melhor maneira é usar field_info_instance ($ entity_type, $ field_name, $ bundle_name) para obter informações sobre instâncias específicas de um campo. O rótulo do campo está contido na matriz retornada dessa função.

 $info = field_info_instance('node','field_name','content_type_name');
 print $info['label'];

Eu preciso usar o field_name, mas com tradução de entidade posso? Eu tentei isso, mas ele não está funcionando
Waseeem Alfarra

1

Eu acredito que você está olhando dentro da $nodevariável. Não está disponível lá. Somente os valores do campo são armazenados dentro da $nodevariável e não nas configurações do campo (como o rótulo). Se você deseja que o rótulo procure na $contentvariável

$contentA variável está disponível na MYTHEME_preprocess_node(&$variable)função de modelo de tema node.tpl.php, além de algumas outras.

Se não estiver disponível, você pode ligar field_info_field($field_name)


0

A maneira mais fácil de imprimir o rótulo do campo de um nó é:

<?php print $content['field_your_field_name']['#title']; ?>

(Descobri isso depois de muitas matrizes print_r e objetos do Drupal! Se é tão fácil, por que não é explicado em nenhum lugar ou por que está tão oculto que eu não encontrei o truque? pergunta a esta resposta ...)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.