Долго искал и наконец нашел здесь
Как вывести подпись под каждой картинкой поля ImageField, то есть чтобы при просмотре ноды отображалась картинка, а рядом содержание title или alt.
Вот примерный перевод:
- Копировать sites/all/modules/cck/theme/content-field.tpl.php в свою тему.
- Затем создать еще один файл в папке темы вида content-field-field_image.tpl.php если хотим темизировать вывод поля field_image. Там разместить копию содержимое файла из пункта 1.
- Вставить в новый файл (из пункта 2) следующий код в том месте, где необходимо вывести подпись
<?php if ($item['data']['title']): ?>
<div class="image-caption"><?php print $item['data']['title']; ?></div>
<?php endif; ?>Title можно заменить на alt или description, кому что нужно
- Очистить кеш Друпала в разделе Администрирование/Производительность
П.С. Сам пока не попробовал, не хватает времени. Может будет полезно кому-нибудь.
Комментарии
Спасибо Jean Jack!
Действиетльно работает и без лишнего хардкодинга.
спасибо, пригодилось )
Спасибо, работает
Спасибо, то что искал, снипет рабочий
Читорский подход, для тех кому не доставляет дампинг и джеркинг
function() {
var desc = $(this).attr('alt');
if( desc && desc.length > 10 ){
$(this).wrap('<div class="alter_wrap" />');
$(this).parent('div').append('<p>' + desc + '</p>');
}
}
);
Примерно так. Остальное css
А для 7-ки есть аналогичное решение, как у ТС? Понял, что нужно делать field--image.tpl.php, но как внутри расписать - не дойду никак (
Тоже ищу для семерки. Помогите плизззззз!
Нашел решение для drupal7, помог добрый человек.
http://drupalace.ru/comment/2021#comment-2021
Можно еще переопределить функции рендеринга изображений theme_image_style или посерьезнее theme_image_formatter.
Выделите отдельный стиль вывода для изображений в разделе admin/config/media/image-styles и по нему добавляйте описание. например вот так
<?phpfunction youtheme_image_style($variables) {
// Determine the dimensions of the styled image.
$dimensions = array(
'width' => $variables['width'],
'height' => $variables['height'],
);
image_style_transform_dimensions($variables['style_name'], $dimensions);
$variables['width'] = $dimensions['width'];
$variables['height'] = $dimensions['height'];
// Determine the url for the styled image.
$variables['path'] = image_style_url($variables['style_name'], $variables['path']);
$output = theme('image', $variables);
if ($variables['style_name'] == 'you_image_style' && $variables['alt']!= '') {
$output .= '<div class="image_'.$variables['style_name'].'_description">'.$variables['alt'].'</div>';
}
return $output;
}?>