Что такое Плагины?

06.11.2023

Все плагины в CMS Zion WebEngine служат для выполнения каких-либо целей. Это может быть вывод какого-то текста, корректировка базы данных, изменение глобальных переменных и т.д.

Где хранятся плагины

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

  • Каждый самостоятельный плагин хранится в одном из файлов в папке plugins, либо plugins/custom. Если Вы хотите изменить один из таких плагинов или создать новый, то сохраняйте его в папке plugins/custom - так он не будет заменён стандартным плагинов в случае обновления CMS. При совпадении имён в plugins и в plugins/custom наибольший приоритет имеют плагины из папки plugins/custom.
  • Если плагин является частью класса, то найти его можно в файле соответствующего класса. Это будет отдельный метод, имя которого всегда начинается с Plugin и в качестве параметров к которому должен передаваться массив params

Набор доступных плагинов зависит от комплекта поставки

Имена плагинов

  • Если плагин хранится в отдельном файле с имением мойплагин.php то имя плагина будет мойплагин (.php обязательно должно присутствовать в имени файла)
  • Если плагин является частью класса, например, мойкласс, и хранится в методе PluginМойПлагин, то имя плагина будет мойкласс_МойПлагин

К плагинам можно обращаться через команду вызова, через URL-адрес или через AJAX

  1. В самом простом случае команда вызова плагина выглядит так: {plugin:мойплагин} или {plugin:мойкласс_МойПлагин}
  2. При обращении через URL-адрес всё аналогично: /?plugin=мойплагин или /?plugin=мойкласс_МойПлагин (в URL также могут быть указаны другие GET-параматры, как слева, так и справа от того, что указано в примере)
  3. При обращении через AJAX нужно соблюсти следующие условия:
    • В HTML-коде веб-страницы должна присутствовать команда вызова специального плагина AJAX - {plugin:ajax} (если указать её несколько раз, дублирование вызова нужных модулей не произойдёт)
    • Вызов плагина через AJAX должен происходить через вызов ассинхронной JS-функции sendRequest(URL,objectID,getRequest,oldHTML,okProc), где
      • URL - URL-адрес плагина (пример смотрите выше)
      • objectID - ID HTML-тега, в который будет возвращён результат выполнения плагина
      • getRequest - оставляйте этот параметр без изменений
      • oldHTML - этот параметр не обязательный - можно оставить его пустым, но если заполнить его текстом или HTML-кодом, то он будет отображаться в результирующем теге objectID до того, как плагин вернёт результат
      • okProc - этот параметр не обязательный - можно оставить его пустым, но если указать в нём какую-либо JS-функцию, то она будет выполнена после того, как плагин вернёт результат (эта функция не должна принимать параметры)

Результаты выполнения плагинов

Плагины могут возвращать результирующий текст или HTML-код.

  • В самостоятельных плагинах результат присваивается PHP-переменной $echo
  • В плагинах из классов результат возвращается через оператор return(...);

От способа вызова плагина зависит то, где и как будет выводиться его результат:

  1. Если используется команда вызова плагина, то результат отобразится именно там, где была команда (результат заменит собой команду)
  2. Если используется обращение по URL-адресу, то результат выведется в браузере (при этом на веб-странице не будет ничего кроме результата выполнения плагина)
  3. Если используется вызов через AJAX, то результат будет выведен в тег, свойство id которого совпадает с тем, что указано в objectID

Параметры плагинов

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

  1. Если используется команда вызова плагина, то она может выглядеть, например, так: {plugin:имя_плагина;color:red;type:apple;action:kick}, при этом
    • после имени плагина должна быть точка с запятой;
    • пары имя-значение (имя и значение параметра) отделяются друг от друга точкой с запятой;
    • имя параметра от значения того же параметра отделяется двоеточием:
    • в именах и в значениях параметров не допускается использовать двоеточия: и точки с запятой;
  2. Если используется обращение по URL-адресу, то для того же плагина с теми же параметрами URL будет такой: /?plugin=имя_плагина&params=color:red;type:apple;action:kick}, при этом
    • после имени плагина нужно написать &params=
    • пары имя-значение (имя и значение параметра) также отделяются друг от друга точкой с запятой;
    • имя параметра от значения того же параметра также отделяется двоеточием:
    • в именах и в значениях параметров не допускается использовать двоеточия: и точки с запятой;, а также амперсанд& и равно=
  3. Если используется вызов через AJAX, то к URL применяются те же требования, что и в предыдущем примере

В плагине эти параметры можно использовать, как элементы ассоциативного массива $params. Например, параметры из примеров выше будут доступны, как переменные $params['color']$params['type'] и $params['action'].

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


CMS Zion WebEngine является бесплатной системой. Развивается за счёт рекламы, помощи ООО "Зион" и других спонсоров.

 

Будем рады, если Вы поддержите нас любой суммой, а также поделитесь идеями на счёт каких-либо улучшений и доработок для CMS...

 

Заранее, большое, спасибо

 

Блог обновлений

Zion WebEngine X6.09.14
  • Реализовано добавление элементов в шаблон и их удаление до сохранения
  • Реализована возможность разделять вставляемые элементы по вкладкам, чтобы не делать редактор слишком громоздким
  • Значительно расширен и во многом переработан функционал класса для управления шаблонами
  • Создан класс для управления многострочными полями без редактора. На его основе будут создаваться другие элементы контента.
  • Реализовано конфигурирование и сохранение элементов в шаблоне
  • Внесены некоторые коррективы в класс для управления базой данных
  • Реализовано удаление элементов из шаблона после сохранения
  • Доработано автоматическое создание шаблонов
  • Расширен функционал класса для работы с контентом

Zion WebEngine База данных/Таблицы данных Вкладки Классы Контент/Контентные единицы Многострочные поля Шаблоны контента Элементы

Zion WebEngine X6.09.13
  • Ранее для Каталога товаров и Дерева статей была реализована возможность указывать для товаров и статей несколько категорий. Это привело к невозможности использовать некоторые свойства категорий. Теперь эта проблема устранена. Но некоторые свойства можно использовать, если категория у товара или статьи всего одна (спасибо Звони-Пермь)
  • Устранена ошибка в плагине меню категорий товаров: некорректно обрабатывались некоторые параметры
  • Доработано добавление товаров в корзину Интернет-магазина: создано более корректное уведомление
  • Оптимизирован дистрибутив Ядра: удалены более ненужные файлы
  • Доработаны классы для управления базой данных и шаблонами: начато создание элементов, с помощью которых в будущих версиях можно будет создавать страницы, новости, статьи и т.д. как пазлы из составных частей

Zion WebEngine Zion Catalog Zion Articles Tree База данных/Таблицы данных Интернет-магазин Категории Классы Контент/Контентные единицы Корзина для заказов Меню/Списки/Навигация Плагины Сайт-каталог Свойства Уведомления Шаблоны контента Элементы

Zion WebEngine X6.09.12
  • Доработано создание записей в базе данных: устранена вероятность несовместимости с ЧПУ
  • Немного доработано оформление меню администратора
  • В драйвере управления древовидными структурами устранена вероятность возникновения ошибки при подсчёте файлов на диске (спасибо Звони-Пермь)
  • Устранены некоторые недочёты в пакете Ленты новостей

Zion WebEngine Zion News Line Адрес (URL)/ЧПУ/Переадресация База данных/Таблицы данных Драйверы Контент/Контентные единицы Меню администратора Место в структуре Файлы/Папки

Zion WebEngine X6.09.11
  • Доработан драйвер оболочки: теперь классы могут "перекрывать" своими методами некоторые стандартные функции, в том числе расширяя функционал некоторых подсистем
  • Расширен функционал классов для работы с базой данных и с шаблонами

Zion WebEngine База данных/Таблицы данных Драйверы Классы Шаблоны контента

Zion WebEngine X6.09.10
  • Доработано меню администратора
  • Оптимизирован дистрибутив Ядра: из него удалены более ненужные файлы
  • Улучшено перетаскивание записей в базе данных: устранены некоторые несовместимости с другими операциями
  • Доработан драйвер оболочки: внедрена поддержка работы с классо-ориентированными плагинами
  • Доработаны создание и продвинутое перемещение записей в базе данных, а также клонирование при создании, клонирование из списка и перемещение при создании записи
  • Завершена разработка редактора списка записей в базе данных, в частности списка шаблонов
  • Начата разработка редактора записей в базе данных, пока на примере шаблонов

Zion WebEngine База данных/Таблицы данных Драйверы Меню администратора Плагины Шаблоны контента

Zion WebEngine X6.09.09
  • Более продумано организовано перемещение записей в базе данных
  • Теперь помимо уже привычного перемещения записей в базе данных доступно более естественное их перетаскивание в нужное место

Zion WebEngine База данных/Таблицы данных

Zion WebEngine X6.09.07
  • Значительно расширен функционал класса для работы с базой данных: проработаны операции перемещения записей (вверх, вниз и в любое указанное место)

Zion WebEngine База данных/Таблицы данных Классы

Zion WebEngine X6.09.06
  • Значительно расширен функционал классов для работы с базой данных и с шаблонами: проработаны операции добавления и удаления записи, а также клонирование записи из формы создания новой записи и клонирование записи из списка записей
  • Устранены некоторые недочёты в драйвере оболочки
  • Доработано меню администратора: внедрены настройки для функционала, который станет доступен в ближайших версиях
  • Расширен функционал некоторых системных плагинов

Zion WebEngine База данных/Таблицы данных Драйверы Классы Меню администратора Плагины Формы Шаблоны контента

Zion WebEngine X6.09.05
  • Устранена ошибка в дистрибутиве Обратной связи (спасибо Вагонка Пермь)
  • Внесено несколько доработок в класс для работы с базой данных
  • Создано несколько плагинов для упрощения выполнения некоторых операций

Zion WebEngine Zion Mail Back База данных/Таблицы данных Классы Обратная связь/Обратный звонок Плагины

Zion WebEngine X6.09.04
  • Доработан главный файл гостевого интерфейса: подключены некоторые классы, необходимые для расширения функционала в будущих версий Ядра
  • Создано несколько плагинов для административных нужд
  • Расширен функционал класса для управления базой данных

Zion WebEngine База данных/Таблицы данных Гостевой интерфейс Классы Плагины

Zion WebEngine X6.09.03
  • Расширен функционал классов для работы с базой данных и с шаблонами

Zion WebEngine База данных/Таблицы данных Классы Шаблоны контента

Zion WebEngine X6.09.02
  • Значительно расширен функционал классов для работы с базой данных и с шаблонами
  • Устранена ошибка в дистрибутиве обратной связи (спасибо Вагонка Пермь)
  • Доработан главный файл интерфейса администратора: переработано использование некоторых классов
  • В дистрибутив Ядра внедрены некоторые JS-фреймворки, которые помогут сделать использование части функционала более удобным
  • Доработан плагин для работы с меню администратора

Zion WebEngine Zion Mail Back Административный интерфейс База данных/Таблицы данных Классы Меню администратора Обратная связь/Обратный звонок Плагины Шаблоны контента

Zion WebEngine X6.09.01
  • Доработан класс для управления проектом: устранена возможность возникновения маловероятной ошибки при обновлении

Zion WebEngine Классы Обновления CMS

Zion WebEngine X6.08.31
  • Доработана форма отображения пути к выбранному элементу интерфейса администратора: улучшена совместимость с Bootstrap
  • В Ядро добавлены необходимые компоненты для работы с иконочными шрифтами
  • В Ядро добавлены некоторые JS/CSS и графические элементы для создания более удобной сортировки записей (работа пока не завершена)
  • Сделано несколько доработок в меню администратора
  • Продолжена работа над классом для управления шаблонами

Zion WebEngine Административный интерфейс Классы Меню администратора Шаблоны контента

Zion WebEngine X6.08.30
  • Оптимизирован драйвер оболочки: удалены некоторые архаизмы
  • Расширен функционал класса для управления контентом
  • Из дистрибутива Ядра удалены некоторые формы и обработчики, так как их функционал реализован в классе управления контентом
  • Доработана справочная система для Ядра
  • Доработаны маркеры
  • Доработана система мониторинга для Страниц, SEO Booster и Доски объявлений
  • Доработан мастер вставки свойств проекта
  • Создан класс для управления шаблонами контента (работа над ним ещё не завершена)
  • Доработана графическая составляющая меню администратора
  • Доработан класс для работы с уведомлениями: устранена возможная несовместимость с ЧПУ
  • В связи с подготовкой к предстоящему редизайну административного интерфейса и к смене HTML/CSS-ядра в комплект поставки Ядра включены CSS-настройки фреймворка Bootstrap
  • Доработан плагин меню администратора

Zion WebEngine Zion SEO Booster Zion Bulletins Board SEO-параметры Административный интерфейс Адрес (URL)/ЧПУ/Переадресация Драйверы Классы Контент/Контентные единицы Меню администратора Мониторинг Объявления Обработчики Плагины Помощники/Мастеры/Инструкции/Подсказки Свойства Уведомления Формы Шаблоны контента

Zion WebEngine X6.08.29
  • Повышена производительность из-за корректировки распределения памяти классов и объектов
  • Доработано множество плагинов, форм администрирования, мастеров вставки плагинов, драйверов, обработчиков, элементов администрирования
  • Доработаны главные файлы гостевого и административного интерфейсов
  • Доработана система мониторинга
  • Доработана авторизация администратора
  • Изменился формат опций, используемых классом для управления проектом: реализован автоматический конвертер для устранения возможной несовместимости со старыми версиями CMS, использующими другой формат опций
  • Доработаны принципы работы с объектно-ориентированными и классно-ориентированными элементами администрирования и обработчиками

Zion WebEngine Zion Catalog Zion Mail Back Zion SEO Booster Zion JivoSite Zion Banners Manager Zion Sender Zion Server Zion Robokassa Zion Bulletins Board Zion Polls Lightbox Zion Edition Zion Articles Tree Zion News Line FCKeditor Zion Edition Административный интерфейс Гостевой интерфейс Доступы/Пользователи Драйверы Классы Мониторинг Обработчики Плагины Помощники/Мастеры/Инструкции/Подсказки Формы

Zion WebEngine X6.08.27
  • Доработан редактор шаблонов для товаров: теперь, чтобы добавить или удалить характеристики в шаблоне товаров, нет необходимости использовать клавиатуру - достаточно поставить или снять нужные галочки
  • Драйвер оболочки доработан: ускорена обработка свойств страниц, изменено многое в работе со страницами
  • Во избежание возможной несовместимости и из-за большей, чем планировалось ранее, универсальности класс работы со страницами переименован в класс работы с контентом: его функционал значительно расширен
  • Оптимизирована система мониторинга для страниц: часть функционала теперь реализована в классе для работы с контентом
  • Из дистрибутива Ядра удалены настройки для страниц по умолчанию: класс для работы с контентом создаёт их самостоятельно
  • Редактирование опций для страниц частично перенесено в класс работы с контентом
  • Главные файлы гостевого и административного интерфейсов доработаны для автоматической загрузки свойств контента
  • Доработано редактирование и сохранение страниц: частично задействован класс работы с контентом
  • Доработан выбор редакторов контента для страниц: частично задействован класс работы с контентом

Zion WebEngine Zion Catalog Административный интерфейс Гостевой интерфейс Драйверы Классы Контент/Контентные единицы Мониторинг Редактор контента/WYSIWYG-редактор Сайт-каталог Свойства Характеристики/Разновидности Шаблоны контента

Zion WebEngine X6.08.26
  • Доработаны опции для страниц: из них убран функционал для настройки отображения уведомлений, а также для вывода страницы по подстраницам
  • Доработаны настройки для страниц по умолчанию
  • Доработан главный файл гостевого интерфейса: уведомления теперь отображаются в новом формате
  • Ускорена работа плагина PageLoader: из него убран функционал для работы с уведомлениями в старом формате, а также для вывода страницы по подстраницам
  • Доработана форма редактирования шаблонов страниц: учтены особенности использования некоторых тегов в CMS
  • Доработан класс для управления уведомлениями: повышена совместимость с некоторыми компонентами CMS
  • Создан класс для работы со страницами (работа над ним ещё не завершена)
  • Мастер вставки плагина PageLoader доработан для учёта последних изменений
  • Из мастера вставки свойств страниц удалены более недоступные свойства
  • Доработан драйвер оболочки: из него удалён более ненужный функционал, а также внесены коррективы в работу со страницами
  • Доработан плагин для работы с меню администратора
  • Расширен функционал класса для работы с проектом, устранены некоторые недочёты
  • Из дистрибутива Ядра удалены некоторые формы администрирования в связи с тем, что их функционал теперь доступен в классе для управления проектом
  • Изменено расположение некоторых пунктом в меню администратора: если что-то потеряли, ищите в новом разделе "Опции"
  • Значительно упрощено редактирование опций страниц
  • Доработано редактирование и сохранение страниц
  • Доработан выбор редакторов контента
  • Доработана система мониторинга для страниц
  • Теперь опции для страниц действуют на все варианты дизайна, а не только на выбранный

Zion WebEngine Zion JivoSite KCAPTCHA Zion Edition Гостевой интерфейс Драйверы Классы Контент/Контентные единицы Меню администратора Мониторинг Пагинация/Подстраницы Плагины Помощники/Мастеры/Инструкции/Подсказки Редактор контента/WYSIWYG-редактор Свойства Уведомления Формы Шаблоны контента

Zion WebEngine X6.08.25
  • Доработан класс управления проектом
  • Доработан драйвер оболочки
  • Доработаны все обработчики для работы с Деревом статей, Менеджером баннеров, Рассыльщиком писем, FCKeditor, Онлайн-консультантом, KCAPTCHA, Обратной связью, Лентой новостей, Опросами, Visa Qiwi Wallet, SEO Booster, Ядром и Каталогом товаров
  • Доработаны многие обработчики для работы с Доской объявлений и Robokassa
  • Доработана система мониторинга для Ядра, Доски объявлений, Каталога товаров, SEO Booster, Дерева статей, Доски объявлений, Ленты новостей, Обратной связи, Lightbox, KCAPTCHA, FCKeditor и CKeditor
  • Доработана форма отправки новых вопросов в техподдержку

Zion WebEngine Zion Catalog Zion Mail Back Zion SEO Booster Zion JivoSite Zion Banners Manager Zion Sender Zion Server Zion Robokassa Zion Qiwi Zion Bulletins Board Zion Polls Lightbox Zion Edition KCAPTCHA Zion Edition Zion Articles Tree Zion News Line CKeditor Zion Edition FCKeditor Zion Edition Robokassa SEO-параметры Баннеры Галереи/Слайды Драйверы Классы Контент/Контентные единицы Мониторинг Объявления Обработчики Обратная связь/Обратный звонок Онлайн-консультант Опросы/голосования Рассылки Редактор контента/WYSIWYG-редактор Сайт-каталог Спам Способы оплаты Формы

Zion WebEngine X6.08.24
  • Создан класс для управления уведомлениями (его внедрение ещё не завершено)
  • Доработаны главный файл интерфейса администратора и плагин меню администратора: налажено отображение уведомлений в новом формате
  • Добавлен новый тип уведомлений. Раньше были типы "опасно", "внимание", "выполнено". Добавился тип "подсказка".
  • Изменён приоритет отображения уведомлений в интерфейсе администратора. Теперь сначала отображаются уведомления с типом "выполнено", далее по порядку - "опасно", "внимание" и "подсказа"
  • Создан отдельный CSS-файл для настройки оформления уведомлений. Пока редактируется только вручную. Пока его содержимое влияет только на уведомления в интерфейсе администратора, но не в гостевом интерфейсе (работаем)
  • Доработана система мониторинга для Интерфейса администратора, Страниц, Обратной связи, MySQLi, SEO Booster, Шаблонов страниц, KCAPTCHA, Каталога товаров, CKeditor, FCKeditor, Ленты новостей, Дерева статей, Доски объявлений, Менеджера баннеров, Robokassa
  • Повышена скорость работы системы мониторинга для Меню и Страниц

Zion WebEngine Zion Catalog Zion Mail Back Zion SEO Booster Zion Banners Manager Zion Robokassa Zion Bulletins Board KCAPTCHA Zion Edition Zion Articles Tree Zion News Line CKeditor Zion Edition FCKeditor Zion Edition Robokassa SEO-параметры Административный интерфейс База данных/Таблицы данных Баннеры Классы Контент/Контентные единицы Меню/Списки/Навигация Меню администратора Мониторинг Объявления Обратная связь/Обратный звонок Плагины Редактор контента/WYSIWYG-редактор Сайт-каталог Спам Способы оплаты Уведомления Шаблоны контента