노드 필드의 값을 얻는 방법?


9

node.tpl.php에서 나는 원시 값을 얻으려고 노력하고 있지만 문제는 렌더링을 사용할 때입니다.

<?php print render($content['field_price']);?>

field_image 값을 반환 할뿐만 아니라 전체 이미지를 형식화하고 출력합니다.

필드의 원시 가치 만 얻는 방법이 필요합니다. 어떻게하면 되나요?

답변:


7

테마가 아닌 실제 가치를 얻으려면 ...

http://api.drupal.org/api/drupal/modules!field!field.module/function/field_get_items/7 을 사용할 수 있습니다

 $my_field_items = field_get_items('node', $node, 'field_my_field');

또는 엔티티 API 모듈 및 entity_metadata_wrapper를 사용하십시오.

 $node_wrapper = entity_metadata_wrapper('node', $node);
 $field_val = $node_wrapper->field_test->value();

http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way 에서 전리품을 가져 가십시오 .


4

노드 템플릿에서 원시 값의 경우 $node객체에 액세스 할 수 있습니다 .

<?php print $node->field_price; ?>

구조를 볼 필요가 있다면 할 수 있습니다 <?php print_r($node); ?>.

또한 이것이 특정 컨텐츠 유형에 대한 것이라면 node.tpl.php 자체 대신 node.tpl.php 변형을 사용해야합니다. 그렇지 않으면 다른 컨텐츠 유형에 존재하지 않는 필드를 표시하려고 시도합니다.


3

Devel 모듈 활성화 및 node- {content-type} .tpl.php 사용

<?php print dsm($node); ?>

코드 위에.

모든 $ node 필드를 읽을 수있는 형식으로 볼 수 있습니다

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