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

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 является бесплатной системой. Развивается за счёт рекламы, помощи веб-студии #webZion и других спонсоров.

 

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

 

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

 

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

Zion WebEngine X9.11.06

Zion WebEngine Гостевой интерфейс Доступы/Пользователи Классы Формы для пользователей

Zion WebEngine X9.11.08
  • Доработаны плагин и класс для работы с галереями (спасибо Отель "Атриум"):
    • При правке галереи в административном интерфейсе появилась подсказка по непосредственному использования плагина gallery:
      • Раньше это было возможно только через плагин content или через соответствующие свойства контента
      • Новая команда позволяет использовать различные дополнительные (в том числе недокументированные) параметры

Zion Gallery Административный интерфейс Галереи/Слайды Классы Контент/Контентные единицы Плагины Помощники/Мастеры/Инструкции/Подсказки Свойства

Zion WebEngine X9.11.05
  • Доработан драйвер оболочки (спасибо Белый и пушистый):
    • При поиске команд вызова плагинов учитывается наличие в командах скрытых/пробельных символов, которые могли быть загружены в свойства контента, например, при импорте из 1С

Zion WebEngine XML/RSS/1С/YML Драйверы Импорт/Экспорт Кодировки/Наборы символов Контент/Контентные единицы Плагины Свойства

Zion WebEngine X9.11.04
  • Доработан класс для управления базой данных (спасибо Белый и пушистый):
    • Теперь при удалении записи в административном интерфейсе настройки фильтрации не сбрасываются

Zion WebEngine Административный интерфейс База данных/Таблицы данных Классы Фильтрация

Zion WebEngine X9.10.31
  • Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Федерация Киокусинкай Пермского края):
    • Реализовано несколько возможностей для использования нестандартной миграции

Zion WebEngine Классы Миграция

Zion WebEngine X9.10.29
  • Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Федерация Киокусинкай Пермского края):
    • Реализована конвертация всех ссылок из старого формата в новый:
      • Полные URL на сайт при этом обрезаются до относительных:
        • С учётом www-поддомена, если это необходимо
      • Доступна полная поддержка ЧПУ
      • Устаревшие GET-параметры устраняются
      • Ссылки на другие сайты игнорируются (остаются без изменений)

Zion WebEngine POST/GET-данные Адрес (URL)/ЧПУ/Переадресация Классы Миграция

Zion WebEngine X9.10.28

Zion WebEngine Галереи/Слайды Классы Миграция

Zion WebEngine X9.10.23
  • Доработан плагин универсального меню (спасибо Федерация Киокусинкай Пермского края):
    • Стал доступен новый вариант сортировки записей по датам, как ежегодных событий (например, дней рождения или других праздников):
      • Достпен при наличии в комплекте пакета Zion Pub Hub
    • Для нового функционала доработан помощник по вставке плагина универсального меню

Zion WebEngine Zion Pub Hub Дата/Время/TimeMashine Меню/Списки/Навигация Плагины Помощники/Мастеры/Инструкции/Подсказки

Zion WebEngine X9.10.22
  • Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Федерация Киокусинкай Пермского края):
    • Доработана миграция новостей
    • Реализована миграция статей и аналогичных типов контента

Zion WebEngine Баннеры Классы Контент/Контентные единицы Миграция Типы

Zion WebEngine X9.10.18
  • Проведены "боевые" испытания Zion Banners Manager на новой платформе:
    • Устранены некоторые недочёты
    • Расширен функционал
    • Внедрена новая система мониторинга
  • Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Федерация Киокусинкай Пермского края):
    • Доработана миграция опций проекта
    • Реализована миграция баннеров
  • Доработаны меню администратора и выбор WYSIWYG-редакторов

Zion WebEngine Zion Banners Manager Баннеры Классы Меню администратора Миграция Мониторинг Платформа Редактор контента/WYSIWYG-редактор

Zion WebEngine X9.10.17
  • Расширены функциональные возможности при работе со связями и вкладками
  • Пакет Zion Banners Manager полностью переведён на новую платформу:
    • Управление баннерами и баннерными местами стало более удобным
    • Многое упрощено и автоматизировано
    • Применено новое оформление в административном интерфейсе
    • Удалены различные архаизмы
    • Упразднена (возможно, временно) система мониторинга для данного пакета
    • Ведутся "боевые" испытания

Zion WebEngine Zion Banners Manager Административный интерфейс Баннеры Вкладки Мониторинг Платформа Связи

Zion WebEngine X9.10.14

Zion WebEngine Категории Классы Контент/Контентные единицы Меню/Списки/Навигация Миграция Сайт-каталог

Zion WebEngine X9.10.12
  • Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Федерация Киокусинкай Пермского края):
    • Внесено много изменений в принцип миграции ленты новостей и каталога товаров
    • Внесено много изменений в принцип миграции эскизов, меню/списков, категорий

Zion WebEngine Категории Классы Контент/Контентные единицы Меню/Списки/Навигация Миграция Сайт-каталог Эскизы

Zion WebEngine X9.10.11
  • Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Федерация Киокусинкай Пермского края):
    • Внесено много изменений в принцип миграции ленты новостей и каталога товаров
    • Некоторые устаревшие JS-библиотеки, используемые для фото галерей, автоматически заменяются на современные аналоги

Zion WebEngine Галереи/Слайды Классы Контент/Контентные единицы Миграция Сайт-каталог

Zion WebEngine X9.10.09

Zion WebEngine Классы Контент/Контентные единицы Миграция Эскизы

Zion WebEngine X9.10.07
  • Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Федерация Киокусинкай Пермского края):
    • Реализована конвертация условий (в очень старых версиях их формат отличался от используемого сейчас)

Zion WebEngine Классы Миграция Условия

Zion WebEngine X9.10.02
  • Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Федерация Киокусинкай Пермского края):
    • Доработана миграция страниц ошибок
    • Оптимизирована конвертация новостей, товаров их категорий и всего, что с ними связано
    • Реализована конвертация контактов для обратной связи
    • Доработана конвертация команды вызова плагина новостей в команду вызова плагина универсального меню
    • Доработана конвертация некоторых свойств новостей, эскизов и изображений

Zion WebEngine Что такое CMS Zion WebEngine? Изображение Категории Классы Контент/Контентные единицы Меню/Списки/Навигация Миграция Обратная связь/Обратный звонок Плагины Сайт-каталог Страницы ошибок Эскизы

Zion WebEngine X9.10.01
  • Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Федерация Киокусинкай Пермского края):
    • Реализована конвертация команд вызова устаревшего плагина кэширования в команды для вызова современных аналогов
    • Эскизы теперь не копируются из старой версии в новую, так как в новой версии эскизы создаются автоматически
    • На время миграции теперь автоматически отключается поддержка SSL/HTTPS
    • Доработана миграция онлайн-консультанта
    • Расширен набор опций для миграции:
      • Например, при можно отключить копирование файлов из папки upload и её подпапок для ускорения процесса при повторной миграции - когда содержимое этой папки уже скопировано

Zion WebEngine HTTP/HTTPS/SSL-сертификаты Классы Кэш/Кеш Миграция Онлайн-консультант Плагины Файлы/Папки Эскизы

Zion WebEngine X9.09.22
  • Доработаны класс для работы с контентом и плагин универсального меню (спасибо iRobot Пермь):
    • Устранены недочёты при сравнении (например, товаров)

Zion WebEngine Классы Контент/Контентные единицы Меню/Списки/Навигация Плагины Сайт-каталог Сравнение

Zion WebEngine X9.09.21
  • Доработан класс для работы с текущими данными (спасибо iRobot Пермь):
    • Расширен функционал для определения и использования ID текущей страницы

Zion WebEngine Классы Плагины Текущие данные

Ответы на вопросы

Как импортировать данные о пользователях из XML

Как загрузить данные о пользователях, например, о клиентах на сайт из 1С и аналогичных внешних систем через формат XML

Zion UserControl Zion Import XML/RSS/1С/YML Импорт/Экспорт Меню администратора

Что такое Меню администратора?

Общая информация о Меню администратора: что это, где его найти и как им пользоваться?

Zion WebEngine Zion UserControl Zion Catalog Zion Mail Back Zion SEO Booster Zion xDelivery Zion Import Zion Gallery Zion xPayment Zion Pub Hub Zion Export Zion JivoSite Zion Chat Zion Multi-Lang Zion Banners Manager Zion Sender Zion Server Email-сообщения SMS SMTP/PHP-mail XML/RSS/1С/YML Валюты Веб-сервер/Хостинг Галереи/Слайды Доступ Групп пользователей Доступы/Пользователи Изображение Импорт/Экспорт Интернет-магазин Категории Корзина для заказов Корзина для мусора Кэш/Кеш Меню/Списки/Навигация Меню администратора Многоязычность/Языки Обновления CMS Обмен сообщениями/Чат Обратная связь/Обратный звонок Онлайн-консультант Политика конфиденциальности Помощники/Мастеры/Инструкции/Подсказки Рассылки Реакции на заказ Сайт-каталог Скидки/Наценки Спам Способы доставки/самовывоза Способы оплаты Файлы/Папки ФЗ-152 Формы Шаблоны контента Эскизы

Что такое Тип контента?

Общая информация о Типах контента: что это, для чего они нужны, и как их использовать

Zion WebEngine Zion Catalog Zion Pub Hub Меню/Списки/Навигация Типы

Как редактировать Контент?

Как управлять страницами, редактируемыми полями, новостями, статьями, товарами, аксессуарами и другими контентными единицами?

Zion UserControl Zion Catalog Zion Pub Hub Адрес (URL)/ЧПУ/Переадресация Кэш/Кеш Меню/Списки/Навигация Помощники/Мастеры/Инструкции/Подсказки Фильтрация Шаблоны контента

Как настроить сайт?

Zion WebEngine 26 - CMS без абонентской платы

Что такое Комплект поставки?

Общая информация о Комплекте поставки: что это, где его посмотреть и как можно расширить?

Настраиваемые модули

Что такое Вкладки?

Общая информация о Вкладках: что это, для чего они нужны, и как их использовать

Zion WebEngine Zion Catalog Zion Gallery Zion Pub Hub Вкладки

Что такое Шаблон контента?

Общая информация о Шаблонах контента: что это, для чего они нужны, и как их использовать

Zion WebEngine Шаблоны контента

Как подтвердить права на сайт в поисковой системе?

Как подтвердить права на сайт в Яндекс.Вебмастере, Google Search Console, Кабинете вебмастера Mail.Ru, Bing - Webmaster Tools и других аналогичных сервисах

SEO-параметры