Наверх

Фотогалерея

Модуль относится к части CMS «Контент» и может быть установлен опционально.

Модуль состоит из двух частей: альбомы и фотографии.

Модуль «Фотогалерея» можно прикреплять к различным страницам сайта. Если модуль прикреплен к нескольким страницам, в административной части модуля появляется специальный фильтр «Раздел сайта» с возможностью фильтрации вывода (списка фотографий, категорий и настроек) по принадлежности к странице.

Фотографии

Список фотографий

Порядок отображения фотографий можно менять с помощью мыши, просто перетаскивая их. Если подключены альбомы фотографий, то сортировать фотографии можно только в пределах альбома (в фильтре «Категория» нужно выбрать альбом).

Редактирование фотографии

Фотографии имеют следующие характеристики.

Альбомы

Список альбомов фотографий

Альбомы фотографий могут иметь неограниченное число вложенных альбомов. При необходимости альбомы можно не использовать. Для этого нужно отключить параметр «Использовать альбомы» в настройках модуля.

При удалении альбома удаляются все вложенные альбомы и фотографии.

Редактирование альбома фотографий

Альбом имеют следующие характеристики.

Статистика

Статистика

Настройки

Настройки

Шаблонные теги

Для работы с модулем «Фотогалерея» служат следующие шаблонные теги:

show_block – выводит несколько фотографий.

Атрибуты:

count – количество выводимых фотографий (по умолчанию 3);

site_id – страницы, к которым прикреплен модуль. Идентификаторы страниц перечисляются через запятую. Можно указать отрицательное значение, тогда будут исключены фотографии из указанного раздела. По умолчанию выбираются все страницы;

cat_id – альбомы фотографий, если в настройках модуля отмечено «Использовать альбомы». Идентификаторы альбомов перечисляются через запятую. Можно указать отрицательное значение, тогда будут исключены фотографии из указанной категории. Можно указать значение current, тогда будут показаны фотографии из текущей (открытой) категории или из всех категорий, если ни одна категория не открыта. По умолчанию альбом не учитывается, выводятся все фотографии;

sort – сортировка фотографий: по умолчанию как на странице модуля, date – по дате, rand – в случайном порядке;

images_variation – тег размера изображений, задается в настроках модуля;

only_module – выводить блок только на странице, к которой прикреплен модуль «Фотогалерея»: true – выводить блок только на странице модуля, по умолчанию блок будет выводиться на всех страницах;

tag – тег, прикрепленный к фотографиям;

defer – маркер отложенной загрузки шаблонного тега: event – загрузка контента только по желанию пользователя при нажатии кнопки "Загрузить", emergence – загрузка контента только при появлении в окне браузера клиента, async – асинхронная (одновременная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, sync – синхронная (последовательная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, по умолчанию загрузка контента только по желанию пользователя;

defer_title – текстовая строка, выводимая на месте появления загружаемого контента с помощью отложенной загрузки шаблонного тега;

template – шаблон тега (файл modules/photo/views/photo.view.show_block_template.php; по умолчанию шаблон modules/photo/views/photo.view.show_block.php).

Пример:

<insert name="show_block" module="photo">

выведет 3 последние фотографии из фотогалереи

В шаблоне тега можно получить значение любого атрибута через переменную $result["attributes"]["название атрибута"].

show_block_rel – на странице фотографии выводит похожие фотографии. По умолчанию связи между фотографиями являются односторонними, это можно изменить, отметив опцию «В блоке похожих фотографий связь двусторонняя» в настройках модуля.

Атрибуты:

count – количество выводимых фотографий (по умолчанию 3);

images_variation – тег размера изображений, задается в настроках модуля;

defer – маркер отложенной загрузки шаблонного тега: event – загрузка контента только по желанию пользователя при нажатии кнопки "Загрузить", emergence – загрузка контента только при появлении в окне браузера клиента, async – асинхронная (одновременная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, sync – синхронная (последовательная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, по умолчанию загрузка контента только по желанию пользователя;

defer_title – текстовая строка, выводимая на месте появления загружаемого контента с помощью отложенной загрузки шаблонного тега;

template – шаблон тега (файл modules/photo/views/photo.view.show_block_rel_template.php; по умолчанию шаблон modules/photo/views/photo.view.show_block_rel.php).

Пример:

<insert name="show_block_rel" module="photo">

выведет 3 фотографии, прикрепленные к текущей фотографии

В шаблоне тега можно получить значение любого атрибута через переменную $result["attributes"]["название атрибута"].

База данных

{photo} – Фотографии

{photo_category} – Альбомы фотографий

{photo_category_parents} – Родительские связи альбомов фотографий

{photo_category_rel} – Связи фотографий с альбомами

{photo_counter} – Счетчик просмотров фотографий

{photo_rel} – Связи похожих фотографий

Файлы

Модуль находится в папке modules/photo и устроен классически.

  1. modules/photo/admin/js/photo.admin.js – редактирование фотографий, JS-сценарий;

  2. modules/photo/admin/photo.admin.php – редактирование фотографий;

  3. modules/photo/admin/photo.admin.category.php – редактирование категорий фотогалереи;

  4. modules/photo/admin/photo.admin.config.php – настройки модуля;

  5. modules/photo/admin/photo.admin.counter.php – статистика просмотров;

  6. modules/photo/admin/photo.admin.menu.php – карта ссылок для модуля «Меню на сайте»;

  7. modules/photo/js/photo.id.js – JS-сценарий модуля;

  8. modules/photo/photo.php – контроллер;

  9. modules/photo/photo.install.php – установка модуля;

  10. modules/photo/photo.model.php – модель;

  11. modules/photo/photo.search.php – настройки для поисковой индексации для модуля «Поиск»;

  12. modules/photo/photo.sitemap.php – карта ссылок для модуля «Карта сайта»;

  13. modules/photo/views/photo.view.first_page.php – шаблон первой страницы модуля, если в настройках модуля подключен параметр «Использовать категории»;

  14. modules/photo/views/photo.view.id.php – шаблон страницы фотографии;

  15. modules/photo/views/photo.view.list.php – шаблон списка фотографий;

  16. modules/photo/views/photo.view.list_tags.php – шаблон списка фотографий для модуля «Теги»;

  17. modules/photo/views/photo.view.rows.php – шаблон элементов в списке фотографий;

  18. modules/photo/views/photo.view.rows_block.php – шаблон блока фотографий;

  19. modules/photo/views/photo.view.rows_block_rel.php – шаблон блока похожих фотографий;

  20. modules/photo/views/photo.view.rows_tags.php – шаблон элементов в списке фотографий для модуля «Теги»;

  21. modules/photo/views/photo.view.show_block.php – шаблон блока фотографий;

  22. modules/photo/views/photo.view.show_block_rel.php – шаблон блока похожих фотографий.

Ваши комментарии и дополнения

Как вывести все фотографии из определенной категории с анонсом который внутри фотографии, а не альбома?
Если на странице фотографий в категории нужно выводить не анонс, а текст, то в функции list_category_elements_query() в файле modules/photo/photo.model.php можно заменить e.[anons] на e.text".__LANG." AS anons. Кэш после этого нужно почистить.
Нет. Нужно выводить фотографии из категории с анонсом, текстом и всей информацией которая заполнена об этой фотографии
Добавьте в этом же месте в SQL-запрос e.[text] и используйте потом в шаблоне по аналогии с другой информацией.
Добавил
"SELECT e.id, e.[name], e.timeedit, e.[anons], e.[text], e.site_id FROM {photo} AS e"
кеш сбросил, поле text так и не появилось
Давайте пошагово. Версия 6.0.3.5.
1. Заполняем текст и анонс для фотографии. На примере демо-данных заполним у фото "Тент".
2. В файле modules/photo/photo.model.php в строке 441 добавляем текст:
Код
"SELECT e.id, e.[name], e.timeedit, e.[anons], e.[text], e.site_id FROM {photo} AS e"

3. Чистим кэш в параметрах сайта
4. В шаблоне modules/photo/views/photo.view.rows.php сразу после
Код
//вывод краткого описания фотографии
if (! empty($row["anons"]))
{
echo '<div class="photo_anons">'.$row['anons'].'</div>';
}

выводим (строка 71)
Код
echo $row['text'];

5. Открываем категорию "Палатки" и видим текст и анонс у фотографии с названием "Тент".
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.