$ node 변수에서 필드 레이블 가져 오기


8

Drupal 7에서 노드 내 특정 필드의 레이블을 어떻게 얻을 수 있습니까?

내가 관심있는 분야는 다음과 같은 구조를 가지고 있습니다.

    [field_text_question1] => 배열 (
      [und] => 배열 (
        [0] => 배열 (
          [값] => 영업 인턴
          [형식] => 
          [safe_value] => 영업 인턴
        ) 
      )
    )

답변:


13

가장 좋은 방법은 field_info_instance ($ entity_type, $ field_name, $ bundle_name) 를 사용하여 필드의 특정 불안정성에 대한 정보를 얻는 것입니다. 필드의 레이블은 해당 함수에서 반환 된 배열에 포함됩니다.

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

field_name을 사용해야하지만 엔터티 변환과 함께 사용할 수 있습니까? 나는 그것을 시도했지만 작동하지 않습니다
Waseeem Alfarra

1

$node변수 내부를보고 있다고 생각합니다 . 거기에는 없습니다. 필드 값만 $node필드 설정 (예 : 레이블)이 아닌 변수 내에 저장됩니다 . 레이블을 원하는 경우 $content변수를 확인하십시오.

$content변수는 MYTHEME_preprocess_node(&$variable)테마 템플릿 함수 및 node.tpl.php기타 몇 가지에서 사용할 수 있습니다.

사용할 수없는 경우 전화를 걸 수 있습니다 field_info_field($field_name)


0

노드의 필드 레이블을 인쇄하는 가장 쉬운 방법은 다음과 같습니다.

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

(Drupal의 많은 print_r 배열과 객체 후에 그것을 발견했습니다! 너무 쉽다면 왜 어디서 설명하지 못하거나, 왜 숨겨져있어서 속임수를 찾지 못했습니까? 이 답변에 대한 질문 ...)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.