Вывод изображений

    Вывод изображений

    Для вывода галереи используется DocLister с контроллером onetable. Для большего удобства вызов DocLister производится через сниппет-обертку sgLister; соответственно при вызове можно использовать любые параметры DocLister. В sgLister также производится дополнительная обработка выводимых данных, которая реализована с помощью параметра prepare при вызове DocLister.

    Параметры сниппета sgLister

    imageField

    Имя поля с изображением.

    Значение по умолчанию - sg_image.

    parents

    Для вывода изображений из указанных ресурсов.

    Возможные значения - id ресурсов, разделенные запятой.

    Значение по умолчанию - id ресурса в котором вызывается сниппет.

    documents

    Для вывода отдельных изображений из всех галерей.

    Возможные значения - id записей в таблице sg_images, разделенные запятой.

    Значение по умолчанию - пусто.

    BeforePrepare, AfterPrepare

    Обработка данных до того, как они будут обработаны сниппетом sgLister, и после.

    Возможные значения - имена сниппетов, через запятую.

    Значени по умолчанию - пусто.

    thumbSnippet

    Имя сниппета для генерации превью при выводе.

    Возможные значения: имя сниппета, например, phpthumb.

    Значение по умолчанию - пусто.

    thumbOptions

    Параметры, передаваемые сниппету, указанному в параметре thumbSnippet. Для генерации единичного превью указывается строка с параметрами:

    &thumbSnippet=`phpthumb`
    &thumbOptions = `w=400&h=400&zc=1`

    Путь к картинке будет доступен в шаблоне через плейсхолдер [+thumb.sg_image+]

    Для генерации нескольких превью параметры можно задавать в json-формате:

    &thumbSnippet=`phpthumb`
    &thumbOptions = `{
        "default":"w=400&h=400&zc=1",
        "small":"w=50&h=50&zc=1",
        "medium":"w=200&h=200&zc=1"
    }`

    Пути к картинкам будут доступны в шаблоне через плейсхолдеры:

    • [+thumb.sg_image+]
    • [+thumb_small.sg_image+]
    • [+thumb_medium.sg_image+]

    Значение по умолчанию - пусто.

    tpl

    Шаблон для вывода.

    Возможные значения - имя шаблона, указанное по правилам задания шаблонов в DocLister.

    Плейсхолдеры

    Данные таблицы sg_images:

    • [+sg_id+] — id картинки;
    • [+sg_index+] — позиция в галерее;
    • [+sg_image+] — ссылка на картинку;
    • [+sg_title+] — название картинки;
    • [+sg_description+] — описание картинки;
    • [+sg_properties+] - информация об изображении в формате json;
    • [+sg_add+] — дополнительное поле;
    • [+sg_isactive+] — флажок, чтобы скрыть какие-то картинки из вывода;
    • [+sg_rid+] — id ресурса, которому принадлежит картинка (parentField);
    • [+sg_createdon+] — дата добавления картинки.

    Для вывода экранированных данных (параметр e в DocLister):

    • [+e.имя_поля+]

    Информация об изображении (при использовании сниппета sgLister):

    • [+properties.width+] - ширина в пикселях;
    • [+properties.height+] - высота в пикселях;
    • [+properties.size+] - размер файла.

    Превью (при использовании сниппета sgLister и заданных параметрах thumbSnippet и thumbOptions):

    • [+thumb.sg_image+] - ссылка на основной файл превью;
    • [+thumb_имя.sg_image+] - ссылка на дополнительный файл превью;
    • [+thumb.width.sg_image+], [+thumb_имя.width.sg_image+] - ширина превью;
    • [+thumb.height.sg_image+], [+thumb_имя.height.sg_image+] - высота превью.

    Также доступны плейсхолдеры, устанавливаемые сниппетом DocLister.

    Пример

    [+pages+]
    [!sgLister?
    &ownerTPL=`@CODE: <div class="row">[+dl.wrap+]</div>`
    &thumbSnippet=`sgThumb`
    &thumbOptions=`400x300`
    &display=`16`
    &paginate=`pages`
    &PrevNextAlwaysShow=`1`
    &tpl=`@CODE:
    <div class="col-lg-3 col-md-4 col-xs-6 thumb">
        <a class="thumbnail" href="[+sg_image+]" target="_blank">
            <img class="img-responsive" src="[+thumb.sg_image+]" alt="[+e.sg_title+]">
        </a>
    </div>
    `
    &TplWrapPaginate=`@CODE:<nav class="text-center"><ul class="pagination">[+wrap+]</ul></nav>`
    &TplCurrentPage=`@CODE:<li class="active"><span>[+num+]</span></li>`
    &TplPage=`@CODE:<li><a href="[+link+]"><span>[+num+]</span></a></li>`
    &TplNextP=`@CODE:<li><a href="[+link+]"><span class="glyphicon glyphicon-forward"></span></a></li>`
    &TplLastP=`@CODE:<li><a href="[+link+]"><span class="glyphicon glyphicon-fast-forward"></span></a></li>`
    &TplFirstP=`@CODE:<li><a href="[+link+]"><span class="glyphicon glyphicon-fast-backward"></span></a></li>`
    &TplPrevP=`@CODE:<li><a href="[+link+]"><span class="glyphicon glyphicon-backward"></span></a></li>`
    &TplNextI=`@CODE:<li class="disabled"><span class="glyphicon glyphicon-forward"></span></li>`
    &TplLastI=`@CODE:<li class="disabled"><span class="glyphicon glyphicon-fast-forward"></span></li>`
    &TplFirstI=`@CODE:<li class="disabled"><span class="glyphicon glyphicon-fast-backward"></span></li>`
    &TplPrevI=`@CODE:<li class="disabled"><span class="glyphicon glyphicon-backward"></span></li>`
    !]
    [+pages+]