2013-04-15 1 views
2

Если я напечатаю свое поле ссылки в шаблоне узла, например: [? Php print render ($ content ['field_link']); ?] Я получу это поле, сделанное так, как оно установлено в настройках отображения типа содержимого.Render URL-адрес ссылки и заголовок отдельно в шаблоне узла в Drupal 7

Но что, если я хочу, чтобы 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. Создать поле «field_link» в тип контента 2. В шаблоне узла я распечатать массив $ полевого 'code' "; print_r($field); print ""; > 'Код' Но тогда полный массив узла распечатывается ... как: 'code' Массив ( [#theme] => поле [#weight] = > 0 [#title] => ссылка [#access] => 1 [#label_display] => выше [#view_mode] => _custom_display [#language] => унд [#field_name] => field_link – stormy

+0

Добавил полный пример моего ответа. –

+0

Еще раз спасибо Майк, я просто попробовал ваш фрагмент, но какая работа для меня в будущем как '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); 
Смежные вопросы