Записки

Подключил галерею на этот сайт с целью отладки и усовершенствования: Галерея изображений

Внес исправления и изменения в верстку страницы с галереей.

Вычленил список альтернативных галерей из под каждой картинки и вынес их вниз - это даст возможность применять оформление gallery.

Добавил опции оформления каждой картинки в превьюшках галерей.

Архив плагина: taggallery-06.zip.

Планируемые изменения в Taggallery plugin для MaxSite CMS.

  • Будут введены служебные метки вида -tg1-Тег - это будет означать что картинка является обложкой галереи "Тег".
  • Будет добавлен тег -tg-no , который будет означать что картинка не попадает ни в какую галерею.
  • Стоит еще добавить список каталогов, которые будут исключаться при построении базы галереи.

Еще большой недостаток - это то, что в файле gallery.php в вывод информации подмешаны вычисления переменных для вывода. Необходимо отделить все построения вывода в процедуры, чтобы в файле остался чисто код вывода. Также результаты работы процедур формирования информации для вывода необходимо закешировать, и кеш сбрасывать одновременно с нажатием кнопки "Сохранить в админке плагина"

На данный момент массив с информацией о построенной галерее хранится в опциях плагина. Это тоже неправильно - необходимо использовать для этого Плоские опции.

После активации плагина появляются страницы mysite/catalog/А и т. д.

В результате страницы заданного типа попадут в соответствующие страницы каталога по первой букве.

Сегмент catalog можно задать какой угодно.

Пример работы: http://www.filimonov.com.ua/catalog.

Архив плагина: abc_catalog-01.zip.

Можно задать такие опции:


Slug для каталога.
Выводить полные страницы или заголовки.
Выводимые категории (если оставить пустым - все).
Исключаемые страницы
Тип страниц для каталога - задать тип blog, static и т. д.
Имя сущности для заголовка каталога.

На примере этого плагина можно посмотреть как легко в MaxSite CMS можно создавать новый функционал.

Для выборки страниц используется все та же функция mso_get_page(). Перед ее вызовом строится специальная SQL функция mso_sql_build_catalog, которая при помощи оператора like выбирает страницы, название которых начинается на требуемую букву. Эта функция передается в качестве параметра в mso_get_page().

В MaxSite CMS 0-35 пагинация работала только с paginator-3000, поскольку он один мог пагинировать любые сегменты. Теперь, в примере, пагинация происходит при помощи плагина по умолчанию.

Добавил в плагин TagGallery ссылку на страницу siteurl/tag/метка_галереи .
Если существует у постов блога метка, как текущая у галереи, - выводится ссылка на эту метку.

Также добавил возможность привязки к галерее поста.

Можно либо вручную задать page_slug для каждой конкретной галереи.
Можно создать страницу типа static и с page_slug вида taggallery_tag
Подразумевается tag после транслитерации метки.

Архив плагина: taggallery-05.zip.

Пример: Нирембергия - фотографии.

В данном случае создана была страница с типом static и слагом taggallery_nirembergija.


Скачать архив плагина Taggallery: taggallery-04.zip


Пример работы плагина: http://filsadovnik.ru/pictures/


Плагин создает галереи изображений из картинок, находящихся в
каталоге загрузок и работает на основе меток, заданных изображениям/каталогу изображений.
Для каждой метки, заданной изображениям, строится
страница-галерея mysite/pictures/tag.


Также строится каталог mysite/pictures в виде превьюшек галерей.


Превьюшка случайно выбирается из картинок галерей.


Сегмент pictures можно задавать.


Если находимся на странице метки то навигация по галереям
выдается без превьюшек.


Для того, чтобы информация о картинках попала в базу плагина,
нужно нажать кнопку "Сохранить" в админке плагина. После активации плагина база пуста. После загрузки картинки база
тоже не меняется.


После редактирования содержимого каталога загрузок нужно нажать
кнопку "Сохранить" для пересчета базы данных плагина. (можно, если нужно, сделать и автоматически)

    Галереи выводятся так:
  • Строка до навигации

  • Навигация по галереям

  • Строка после навигации

  • Строка до галереи

  • Галерея

  • Строка после галереи



    Галерея строится так:
  • Строка до картинки

  • Картинка

  • Подпись к картинке

  • Строка после картинки




Подпись к картинке представляет собой строку кликабельных
альтернативных меток картинки. Позже можно будет выводить опционально.


Все строки До.. и После.. задаются в админке плагина.




В этом случае подписи к картинкам в виде кликабельных меток не
делаются.


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


Если метка начинается на символ "_" , то для нее не строится
страница галереи, но она доступна из тела поста.


Теперь о том, как в MaxSite CMS осуществляется администрирование
файлов.


Предусмотрен отдельный каталог, по умолчанию uploads, в который
осуществляется загрузка.


Загружать можно: либо встроенным загрузчиком файлов, либо
альтернативным, подключаемым в виде плагина.


При загрузке изображения, загрузчик уменьшает картинку до
заданного заранее размера и создает заданного размера миниатюру,
которая помещается в каталог mini.


При помощи редактора можно править описание каждого файла.
Описание файла хранится в каталоге _mso_i того каталога, в
котором картинка, в файле _mso_i/_mso_descriptions.dat.


Плагин Taggallery производит операции с картинками на основе
присвоенных им меток.

Метки можно задавать в описании картинки. Формат задания меток в
описании таков:


Описание | Метка1, Метка2 ...


Если описания нет а одни метки то так:


| Метка1, Метка2 ...


Можно не править описание для каждого файла а задавать массово
всем файлам в каталоге.


При этом формат записи такой:


часть_каталога = Описание | Метка1, Метка2 ...


Если "часть_каталога" входит в каталог картинки, то ее описание
дополняется в базе плагина но не трогается в файле
_mso_i/_mso_descriptions.dat.



Дополнение происходит по следующему правилу:
    Дополнение происходит по следующему правилу:
  1. Если у файла описания нет то заданная строка считается
  2. описанием.
  3. Если у файла есть описание но в нем нет символа "|" (тоесть
    есть описание но нет меток), то добавляются только метки а
    описание сохраняем старое
  4. Если у файла есть только метки (тоесть до символа "|" пусто)
    то к существующим меткам добавляются новые и добавляется
    описание.


Как определяется директория, файлам которой нужно дополнить
описания?.


Например /flowers/sanvitalia/. Если мы в одной строке зададим добавление описания к файлам, у которых часть пути flowers, а в другой - sanvitalia - то какое дополнение выбрать?

Будет выбрано то совпадение, которое ближе к концу директории.


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


Пример здесь внизу страницы: http://filsadovnik.ru/page/navi-ozera