2013-04-15 2 views
2

노드 템플릿에서 링크 필드를 인쇄하는 경우 : [? php print render ($ content [ 'field_link']); ?]이 필드는 content-type의 디스플레이 설정에서 설정된 방식으로 렌더링됩니다.Drupal 7의 노드 템플릿에서 링크 필드 URL과 제목을 별도로 렌더링하십시오.

하지만이 필드의 URL과 제목을 별도로 인쇄하려면 어떻게해야합니까? 배열의 특정 값을 출력 할 수 있지만 그에 따르는 방법이 아닙니다. http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way

Drupal 7에서이 작업을 수행하는 간단한 방법이 있습니까? 감사합니다!

+0

당신은'field_view_field'를 사용해야합니다. http://api.drupal.org/api/drupal/modules!field.field.module/function/field_view_field/7 – crazyrohila

답변

0

귀하의 링크가 지적 하듯이, 당신이 사용한다 : 당신이 파고 개별 조각을 드실 수 렌더링 가능한 배열을 반환합니다

$field = field_view_field('node', $node, 'field_name'); 

.

전체 예 :

$node = node_load($nid); 
$field = field_get_items('node', $node, 'field_name'); 
$output = render(field_view_field('node', $node, 'field_name', $field[0])); 
echo $output; 
+0

귀하의 책임에 대해 감사드립니다. 이것은 내가 무슨 짓을? 1. 내가 이 ' "; print_r($field); print ""; > '부호' 는하지만 노드의 전체 배열 등 ... 프린트 아웃 : 은' 어레이를 (code' [#theme] => 필드 [#weight = > 0 [#title] => [#view_mode] => _custom_display [#language] => 싶게 [#field_name] => field_link 상기 링크 [# 액세스] => 1 [#label_display] => – stormy

+0

내 답변에 전체 예제를 추가했습니다. –

+0

다시 감사드립니다. Mike, 방금 스 니펫을 시도했지만 우연히 나에게 무슨 일이 일어 났습니까? 다음과 같이 'print render ($ field [0] [ 'url']); print render ($ field [0] [ 'title']); ' – stormy

1
$field = field_get_items('node', $node, 'field_link'); 
print render($field[0]['url']); 
?>" target='_blank'>View Link</a> 
1
$field_title = field_view_field('node', $node, 'field_link', array(
    'label'=>'hidden', 
    'type'=>'link_title_plain', 
)); 

$field_url = field_view_field('node', $node, 'field_link', array(
    'label'=>'hidden', 
    'type'=>'link_plain', 
)); 

print render($field_url); 
print render($field_title);