Особенности

    DocLister: Особенности

    Особенности снипетта DocLister

    Сниппет для вывода информации из различных таблиц. Изначально разрабатывался как замена сниппета Ditto, но в итоге существенно превзошел его в возможностях, гибкости и производительности. При этом в простых случаях использовать DocLister не сложнее, чем Ditto (многие параметры совпадают).

    Для работы DocLister требуется PHP 5.6 или выше.

    Отличительные особенности снипетта DocLister:

    • легко расширяется;
    • позволяет выводить данные из любых таблиц (в том числе из каталога Shopkeeper);
    • есть возможность вывести данные в json-формате;
    • возможность произвольной обработки данных перед выводом;
    • удобные средства отладки;
    • сортировка по TV-параметрам с преобразованием типов;
    • фильтрация документов, в том числе по TV-параметрам;
    • поддержка лексиконов;
    • загрузка параметров из файлов.

    Класс для вывода информации из таблиц по предопределенным правилам. Если нет правил, то данные отображаются без дополнительной обработки и связи. Т.е. все поля и значения совпадают с базой данных.

    Правила для обработки информации описаны в контроллерах. Главный контроллер - site_content, который определяет связь основных документов site_content с данными в TV-параметрах

    На базе класса DocLister сформировано 12 сниппетов:

    • DocLister - основной сниппет для вывода информации по принципу сниппетов Ditto и CatalogView
    • DLcrumbs - для формирования хлебных крошек по принципу сниппета Breadcrumbs
    • DLglossary - для фильтрации документов по первому символу в определенном поле
    • DLvaluelist - для замены сниппета DropDownDocs
    • DLTemplate - для замены $modx->parseChunk()
    • DLFirstChar - выборка документов и группировках в блоках по первой букве
    • DLPrevNext - цикличная навигация вперед/назад между соседними документами
    • DLMenu - Построение меню неограниченой вложенности
    • DLSitemap - Построение xml-карты сайта
    • DLReflect - Построение списка дат
    • DLReflectFilter - Фильтрация документов по датам
    • DLBeforeAfter - Пагинация по прошедшим и предстоящим событиями с учетом текущей даты

    Компоненты на базе DocLister:

    • SimpleGallery – вывод галереи на странице
    • SimpleTube – плагин и сниппет для создания видеогалерей
    • SimpleFiles – прикрепляем к странице файлы
    • SimplePolls
    • LikeDislike – возможность ставить оценки
    • FormLister - cниппет для работы с формами
    • FastImageTV
    • DLRequest - запуск сниппетов с параметрами из get/post
    • evoSearch
    • eFilter
    • Selector - custom TV для составления списка документов

    Автор: Agel_Nash