web-dev-qa-db-ja.com

分類用語のフィールド値を取得しますか?

画像フィールドが含まれる分類用語があります。テンプレートの画像フィールドの値を取得しようとしています。これどうやってするの?フィールドの名前はfield_header_imageです。

これまでのところこれはありますが、機能しません。

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

taxonomy_termには別のものが必要だと思いますが、それがどうあるべきかわかりません。

2
Dustin

あなたはこのようにそれを得ることができます:

_$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);
_

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
  ),
));
_

分類用語のページを表示している場合の状況依存の回答を次に示します。

ファイルで_template.php_を使用するには、次のように_theme_preprocess_page_関数を使用します。

_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'));
    }
  }
}
_

次に、あなたの中では_page.tpl.php_できますprint render($headerimg);

9
pbonnefoi