it-swarm-eu.dev

Získat hodnotu pole termínů taxonomie?

Mám nějaké taxonomické termíny, které v nich mají obrazové pole. Snažím se získat hodnotu obrazového pole v mých šablonách. Jak to mohu udělat? Název pole je field_header_image.

Zatím to mám, ale nefunguje ..

$headerimg = field_view_field('taxonomy_term', $term, 'field_header_image'); 
print render($headerimg);

Hádám, že potřebuji něco jiného pro taxonomy_term ale nejsem si jistý, co by to mělo být.

2
Dustin

Můžete to získat takto:

$term = taxonomy_term_load($tid);
$field_header_image = field_get_items('taxonomy_term', $term, 'field_header_image');
if ($field_header_image) {
  $headerimg = field_view_value('taxonomy_term', $term, 'field_header_image', $field_header_image[0], array('type' => 'image'));
}
print render($headerimg);

Pokud chcete použít image_style:

$headerimg = field_view_value('taxonomy_term', $term, 'field_header_image', $field_header_image[0], array(
  'type' => 'image',
  'settings' => array(
    'image_style' => 'my_image_style', //place your image style here
  ),
));

Zde je kontextová odpověď, pokud jste na stránce taxonomického termínu.

Ve vašem souboru template.php Použijte funkci theme_preprocess_page Takto:

function mytheme_preprocess_page(&$vars) {
  $term = menu_get_object('taxonomy_term', 2);
  if ($term) {
    $field_header_image = field_get_items('taxonomy_term', $term, 'field_header_image');
    if ($field_header_image) {
      $vars['headerimg'] = field_view_value('taxonomy_term', $term, 'field_header_image', $field_header_image[0], array('type' => 'image'));
    }
  }
}

Pak ve vás page.tpl.php Můžete print render($headerimg);

9
pbonnefoi