Drupal 6 with the CCK ImageField module を使用しています。デフォルトでは、タグの属性として画像の高さと幅が出力されます。現在のプロジェクトでは、これらをCSSでオーバーライドできるようにしたいのですが、これらの属性を追加するテーマ関数を特定できませんでした。
これらのタグを削除するには、どの関数/テンプレートをオーバーライドする必要がありますか?
ImageCacheも使用していることを知る必要がありましたが、探していた答えが見つかりました。 template.phpのtheme_imagecache()
をオーバーライドする必要がありました:
function mytheme_imagecache($presetname, $path, $alt = '', $title = '', $attributes = NULL, $getsize = TRUE) {
// Overrode the default here to get ride of height and width attributes.
// Check is_null() so people can intentionally pass an empty array of
// to override the defaults completely.
if (is_null($attributes)) {
$attributes = array('class' => 'imagecache imagecache-'. $presetname);
}
$attributes = drupal_attributes($attributes);
$imagecache_url = imagecache_create_url($presetname, $path);
return '<img src="'. $imagecache_url .'" alt="'. check_plain($alt) .'" title="'. check_plain($title) .'" '. $attributes .' />';
}
そうは言っても、ティムの答えはより簡単で、おそらく同じかそれ以上に機能するでしょう。
これらの属性は、ブラウザーのパフォーマンス上の理由で存在しています。 CSSでそれらをオーバーライドすることはまだ可能です。幅を指定する場合は、高さを自動に設定するか、その逆を行います。