Как удалить атрибуты высоты и ширины из тегов CCK ImageField?


Я использую Drupal 6 с модулем CCK ImageField . По умолчанию он выводит высоту и ширину изображения в качестве атрибутов тега. Для моего текущего проекта я хотел бы иметь возможность переопределять их с помощью CSS. Я не смог определить, какая функция темы добавляет эти атрибуты.

Какие функции/шаблоны мне нужно переопределить, чтобы удалить эти теги?

Author: Pierre.Vriens, 2011-04-19

2 answers

Атрибуты существуют по соображениям производительности браузера. Переопределение их с помощью CSS все еще возможно. Если вы хотите указать ширину, установите для высоты значение автоматически или наоборот.

 4
Author: tim.plunkett, 2011-04-19 19:34:56

Я нашел ответ, который искал, хотя для этого требовалось знать, что я также использую 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 .' />';
}

Тем не менее, ответ Тима проще и, вероятно, сработал бы так же хорошо или лучше.

 1
Author: acrosman, 2011-04-21 01:04:58