Drupal 7 - afișare personalizată a nodurilor

Am această problemă. Am creat nod de fișiere - mycontenttype.tpl.php pentru a afișa noduri în mod obișnuit. Am enumerat toate matricea de conținut $ prin print_r ($ content). Pot afișa toate variabilele, cu excepția câmpurilor CCK. De exemplu, pot imprima tip nod ca:

<?php print $content['body']['#bundle']; ?>

Dar dacă încerc să afișez orice câmp CCK, cum ar fi:

<?php print $content['body']['#object']->field_url[und][0]['value']; ?>

Îmi dă o eroare "Notă: Folosirea constantei nedefinite und und presupusă" und "w include ()". Bine, așa că "und" înseamnă "nedefinit" pentru langauge, dar nici "pl", nici "en" nu rezolvă problema. Cum pot face asta?

0

2 răspunsuri

Alright, after researching I've finally found an answer. It works, but in some cases it look a bit inefficient. Code goes like this:

<?php 
$output = field_get_items('node', $node, 'field_url');
$output = $output[0]['safe_value'];
print $output;
?>

Dar dacă aveți o mulțime de câmpuri CCK, se pare că trebuie să lansați field_get_items() de multe ori. Dacă vreunul dintre voi știe o abordare mai bună, ar putea fi frumos pe care l-ați putea împărtăși.

0
adăugat

Când scrieți [und] , Drupal (PHP) presupune că există variabila $ und definită undeva în cod.

Trebuie să utilizați:

<?php print $content['body']['#object']->field_url['und'][0]['value']; ?>
0
adăugat