Настройка отображения галерей в модуле node_gallery

Главные вкладки

Аватар пользователя Psixo Psixo 8 апреля 2009 в 23:19

Возможно вопрос покажется странным, но всё же Smile
Как настроить отображение галерей в модуле Node Gallery, по умолчанию он просто выводит в столбец изображения с описаниями -- это ужастно Smile Как сделать,например, трехрядную таблицу превьюшек со ссылками Wacko

Впервые столкнулся с таким, раньше никогда не заморачивался с созданием галерей, хватало модуля image. Но сейчас требуется чтобы галлерея была нодой.

Комментарии

Аватар пользователя nep nep 26 июня 2009 в 11:43

Я сделал так:
подправил node_gallery.css, чтоб фотки выводились рядами. добавил:

.gallery-images-list li {float:left;}

Ну и чтоб надпись стала под картинкой в файлик node_gallery_themes.inc после 130 строчки вставил:

$output .= '<br/>';

Ну а далее в настройках модуля можно выбрать сколько показывать фоток на страницу и подогнать это число под нужное количество рядов, если позволяет шаблон (если он не резиновый).

Аватар пользователя gumk gumk 26 июня 2009 в 18:30
<?php function названиетемы_gallery_images_list($gallery$config) {
  
$output '<div class="gallery-images-list">';
  if (!
count($gallery->images)) {
    
$output .= '<p>'t('There are no photos in this gallery currently.');
    if (
node_gallery_user_access('edit'$gallery)) {
      
$output .= '  'l('Upload Some!''node/'$gallery->nid .'/upload', array('query' => 'destination=node/'$gallery->nid));
    }
    
$output .= '</p>';
  }
  else {
   
$output .= '<table width=100%>';
   
$output .=  '<tbody><tr>';
   
$tblcount 0;
    foreach (
$gallery->images as $nid => $image) {
    if (
$tblcount == 3) { $tblcount 0$output .= '</tr><tr>';}
    
        
$output .= '<td align="center" valign="middle" style="width: 25%; min-width: 25%; max-width: 25%">'
        
$output .=  theme('gallery_image_thumbnail'$image$config);
        
$output .= '</td>'
        
      
$tblcount++;
    }
  switch(
$tblcount) {
    case 
$output .= '<td>&nbsp;</td><td>&nbsp;</td></tr>'
    break;
    case 
$output .= '<td>&nbsp;</td></tr>'
    break;
    case 
$output .= '</tr>'
    break;
    }
    
  
$output .= '</tbody></table>';
  }
  
$output .= '</div>';

  return 

$output;
}

function 

названиетемы_gallery_list($items$account NULL) {
   
$output '<div class="gallery-list">';
   
$output .= node_gallery_operations('list'$account);
  if (empty(
$items)) {
     
$output .= t('There are currently no galleries.');
  }
  else  {
   
$output .= '<table width=100%>';
   
$output .=  '<tbody><tr>';
   
$tblcount 0;
    foreach (
$items as $nid => $galler) {
    if (
$tblcount == 2) { $tblcount 0$output .= '</tr><tr>';}
    
        
$output .= '<td align="left" valign="top" style="width: 50%; min-width: 50%; max-width: 50%">'
        
$output .=  $galler;
        
$output .= '</td>'
        
      
$tblcount++;
    }
  switch(
$tblcount) {
    case 
$output .= '<td>&nbsp;</td></tr>'
    break;
    case 
$output .= '</tr>'
    break;
    }
    
  
$output .= '</tbody></table>';
  }
   
$output .= '</div>';
  
  return  
$output;
}
?>

этот код вставляем в template.php темы и чистим кеш

Аватар пользователя FORTIS FORTIS 16 июля 2009 в 1:04

вот смотрите, в чем разница: темизировать при помощи функции в template.php, как написано выше, или темизировать создав файл gallery-images-list.tpl.php в папке с темой? прост интересно Smile

Аватар пользователя ik3 ik3 13 августа 2009 в 9:49

Сделала картинки в строчку, и задала количество изображений на листе три, внизу появились стр., последняя и т.д, то есть листает страницы с картинками. Но при нажатии на картинку она выводится в Lightbox 2, и показывает она только те три, которые на листе, а чтобы посмотреть другие надо перевернуть страницу и опять нажать на изображение. Это не есть ГУД. И еще как можно сделать чтобы эти ссылки на страницы были симпатичные , а лучше с боку кнопки для прокрутки как Карусель, Только модуль Карусель не подходит так как не настраивается на Node Gallery, и лучше видимо сотворить такое ручками. Кто нибудь может подсказать как это можно сотварить?

Аватар пользователя Serega_od Serega_od 18 августа 2009 в 19:35

А как прикрутить LightBox2 к node_gallery? У меня что-то никак не получается, уже все галки поставил в настройках лайтбокса - но никак..:(
Вариант с каруселью для этой галереи тоже интересует?
Тут девушка упомянула про какой-то модуль карусели, можно по подробней плиз. Эту карусель можно например прикрутить к другим галереям?

Аватар пользователя ik3 ik3 19 августа 2009 в 6:33

Чтобы настроить LightBox к галереи зайди в настройки галлереи и там будет придложено на каждое действие дополнительный вариант lightBox. Выбираешь его и на этих действиях будет отрабатывать LightBox. А про карусель модулем это настроить у меня не получилось, но есть возможность сделать это в ручную, вот ссылка http://flowplayer.org/tools/demos/scrollable/navigation.html надо этот код прикрутить. Сама еще сделать пока не успела.

Аватар пользователя Arturus Arturus 18 декабря 2009 в 7:24

А можно ли изменить форму загрузки (редактирования) изображений на странице node/2774/edit/images?destination=node%2F2774 ?
Меня интересует, можно ли убрать выбор галереи?

Аватар пользователя gerboss gerboss 4 марта 2010 в 18:39

значится с сортировкой разобрался.
(правда пришлось менять node_gallery.inc в папке node_gallery, пробовал менять функции, прописывая их в template, но не получилось, может кто разъяснит - почему?)

сделал две правки.
теперь на /galleries обложки новых галерей выводятся первыми. для этого в запрос в function node_gallery_get_gallery_list добавил сортировку ORDER BY n.nid DESC

еще нужно было изменить сортировку при выводе фоток в одной из галерей. т.е. все галереи выводятся в соответствии с сортировкой, которая есть у модуля, а вот одну галерею, с кучей фоток, нужно выводить так же отсортированной по времени загрузки фоток - сперва последние загруженные фотки, и при загрузке новых фоток они так же должны отображаться первыми.
решил это так.
создал отдельного пользователя, сделал его автором этой галереи. в функции function node_gallery_get_gallery_images добавил проверку на автора галереи, если автор данный пользователь - сортировка идет ORDER BY ng.nid DESC, иначе сортировка такая, как прописано в модуле/галереи.

вроде работает.

Аватар пользователя kolyas kolyas 8 марта 2010 в 23:12

странно, включил lightbox2, отметил все отображения в виде lightbox2 group и ничего не произошло .. окошко не всплывает Sad что забыл?

Аватар пользователя gerboss gerboss 9 марта 2010 в 0:28

в настройках Node Gallery - Edit Configuration в секциях Original Image Display, Teaser Setting, Gallery Landing Page Setting должны быть опции с возможностью вывода через lightbox2. я там установил вывод Gallery Landing Page Settin в Thumbnails that open a Lightbox2 Gallery и галерея стала выводиться с помощью Lightbox2. это если щелкаешь на изображение при просмотре всей галереи

Аватар пользователя Arturus Arturus 17 сентября 2010 в 15:47

Может кто подскажет, как на странице просмотра фотографии под фотографией добавить вывод нескольких ближайших фоток из данной галереи (типа карусели jCarousel или модуля gallerix)

Аватар пользователя Arturus Arturus 3 декабря 2010 в 11:36

Для решения своего вопроса воспользовался модулем
jqery slideshows for node_gallery
Описание модуля http://drupal.org/node/675948
Демонстрация работы http://www.davebeall.com/node-gallery4

Модуль добавляет для каждой созданной галереи выбор из 4 вариантов показа фотографий из галереи. Описывать нет смысла, лучше один раз увидеть.