web-dev-qa-db-ja.com

Drupal 7画像のAlt属性とTitle属性を上書きする

Drupal 6では、 Imagefield Tokens モジュールを使用して、ALTタグとTITLEタグが指定されていない場合(通常はノードタイトル)にデフォルト値を設定しました。

Drupal 7でこれを適用することを探していますが、問題があります。 this thread を見つけましたが、少し決定的ではありません。

テンプレート前処理またはfield.tpl.phpオーバーライドを使用してこれを行うことは可能ですか?

3
Simon

テンプレートの前処理は特にhook_preprocess_image()で問題ないと思います:

_function MYTHEME_preprocess_image(&$vars) {
  // alt
  if (empty($vars['attributes']['alt'])) {
    $vars['attributes']['alt'] = DEFAULT_IMAGE_ALT;
  }

  // title
  if (empty($vars['attributes']['title'])) {
    $vars['attributes']['title'] = DEFAULT_IMAGE_TITLE;
  }
}
_

ほとんどすべての画像(フィールドによって提供されるものを含む)は theme_image() を通過するため、これはコードに最適な場所です。

6
Clive