Как удалить атрибуты высоты и ширины из тегов CCK ImageField?
Я использую Drupal 6 с модулем CCK ImageField . По умолчанию он выводит высоту и ширину изображения в качестве атрибутов тега. Для моего текущего проекта я хотел бы иметь возможность переопределять их с помощью CSS. Я не смог определить, какая функция темы добавляет эти атрибуты.
Какие функции/шаблоны мне нужно переопределить, чтобы удалить эти теги?
2 answers
Атрибуты существуют по соображениям производительности браузера. Переопределение их с помощью CSS все еще возможно. Если вы хотите указать ширину, установите для высоты значение автоматически или наоборот.
Я нашел ответ, который искал, хотя для этого требовалось знать, что я также использую ImageCache. Мне нужно было переопределить theme_imagecache()
в template.php :
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 .' />';
}
Тем не менее, ответ Тима проще и, вероятно, сработал бы так же хорошо или лучше.