Есть блок Random Image, как сделать блок All Images

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

Аватар пользователя B.X B.X 13 сентября 2006 в 4:31

Не секрет, что модуль Image не очень хорош в плане юзабилити. Заходишь, например в галерею, потом жмёшь на понравившуюся картинку и переходишь в документ, посмотрел картинку и теперь нужно щёлкать назад, чтобы выбрать другую картинку для просмотра. Неудобно очень.
Вместе с тем, в том же самом модуле есть возможность показа блоков. Ничто не мешает нам, например, разрешить блок Random Image выбрать для него регион content и показывать его скажем только на страницах начинающихся с /image. Но картинка будет всего одна, смысла в таком блоке нет.
Как бы сделать, чтобы была возможность показываать в блоке все картинки из той же самой галереи, что и эта картинка, которую мы в данный момент просматриваем? Такой блок All Images и тогда модуль Image превратился бы в самую настоящую полноценную галерею, причём с возможностью комментирования.

Комментарии

Аватар пользователя rgb rgb 13 сентября 2006 в 9:59

Quote:
посмотри http://drupal.org/node/41259...[/quote]

Кстати, да: недавно модификацией галереи занимался и именно отсюда начал. Вывод всех картинок из данной категории, правда, не делал.

Как вариант (просто первое, что в голову пришло): можно сделать блок и выводить в нем картинки, запросив их предварительно через image_get_latest(..). Эта ф-ция хороша тем, что первым параметром можно указать кол-во "последних картинок", которое нужно, а вторым - $tid - ID термина, который интерисует.

Ф-ция вернёт массив нодов, выводить которые можно. например, с помощью image_display(..).

Другой вариант (в случае использования PHPTemplate): можно в папке с темой создать node-image.tpl.php (я просто скопировал стандартный node.tpl.php и там сделать необходимые добавки (действовать будет только на страницы, где выводится картинка):

<?php if ($page): ?>
  <?php
    $nav = menu_get_active_breadcrumb();
    $nav[] = drupal_get_title();
  ?>
  <div class="image-breadcrumb"><?php print theme('links', $nav, ' &raquo; ')?></div>
<?php endif; ?>

<!-- далее остальное содержимое node.tpl.php -->

В данном примере я перед картинкой вывожу линейку навигации (просто дублирую breadcrumbs страницы), но тут можно сделать всё что угодно. В т.ч. и выводить набор картинок из текущей категории (см. выше).