При добавлении новости на сайт есть возможность добавить три картинки к ней, вопрос как оптимально их вывести в самой ноде.
Сайт почти визитка поэтому нужно какую то легковесного галерею в середине ноды, искал по сайту, но те галереи что находил тянут за собой кучу модулей.
Возможно кто подскажет решение или модуль.
Спасибо.
Комментарии
Просто выстроить их средствами CSS и прикрутить какой нибудь бокс модуль (lighthbox, colorbox)
Спасибо что ответили, я думал что труднее то будет вывести, а получилось все довольно просто.
Опишу вкратце как сделал, может кому и пригодится.
Вот результат:
[img]http://s2.itrash.ru/idb/dd7dcca733d46101a00de3b007c3e222/oVydelenie_001....
такой разброс картинок достигается позиционированием изображений через CSS, то есть каждая картинка имеет свой класс foto1, foto2, foto n, n генерируется в цикле и задается для тега img.
Код использовать в node.tpl.php или для нужного типа node-type, для того чтобы узнать свои переменные используйте print_r($node), если установлен devel то dsm($node), сам код:
<?php
// $base_url.'/'.$node->field_images[$i]['filepath'] -- абсолютный путь к загруженной картинки
// выполняем код только когда есть картинки
if(isset($node->field_images[0]['filepath'])) {
// Делаем $base_url доступним для ноди
global $base_url;
// Подсчитываем количество картинок
$size = count($node->field_images);
print '<div class="gallery">';
// Переменная для вывода id класса (foto1, foto2 ...)
$class_id = 1;
// Выводим картинки в цикле
for($i = 0; $i < $size; $i++) {
// $base_url -- задается в sites/default/settings.php
// $i -- номер картинки
// field_images -- images название моево поля для загрузки изображения
// rel="lightbox[field_images]" - привязка к lightbox
print '<a href="'.$base_url.'/'.$node->field_images[$i]['filepath'].'" rel="lightbox[field_images]" >'.PHP_EOL;
// хук вивода картинки через пресет imagecache, имя моево преcета "small"
// theme('imagecache', $preset, $image['filepath'], $alt, $title, $attributes);
print theme('imagecache', 'small', $node ->field_images[$i]['filepath'], '', '', array('class' => 'foto'.$class_id)).PHP_EOL;
print '</a>'.PHP_EOL;
$class_id++;
}
print '</div>';
print '<div class="marg"></div>';
}
?>
чтобы не дублировало картинок при показе, надо исключить их из вывода:
admin/content/node-type/[YOUR_type]/display
и там поставить галочку - exclude
По теме:
http://www.drupal.ru/node/50203
http://drupal.org/node/826488