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

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 X8.12.27
  • Доработаны элементы "Изображение" и "Галерея" (спасибо Color House):
    • Временно отключена возможность добавлять отступы по краям картинок:
      • Работаем над устранением некоторых проблем

Zion WebEngine Zion Gallery Галереи/Слайды Изображение Элементы

Zion WebEngine X9.01.25
  • Доработаны элементы "Изображение" и "Галерея", а также вспомогательный класс для управления изображениями (спасибо Color House):
    • Реализована возможность добавлять отступы по краям картинок:
      • Это может быть полезно, когда пропорции оригинального изображения плохо соответствуют пропорциям автоматически создаваемых эскизов
      • Для PNG-изображений поля прозрачные, для остальных - белые
      • При выполнении данной операции с очень большими изображениями может появляться ошибка - работаем над устранением этой проблемы

Zion WebEngine Zion Gallery Галереи/Слайды Изображение Классы Элементы Эскизы

Zion WebEngine X9.01.24
  • Доработан классы для управления базой данных:
    • Более продуманно организована проверка на корректность данных в форме для добавления новой записи
  • Доработан класс для управления онлайн-консультантом:
    • Реализована возможность скрывать кнопки для вызова онлайн-консультанта в тех случаях, когда он должен быть по каким-либо причинам недоступен
  • Доработан класс для управления контентом:
    • Сделано несколько оптимизаций для снижения нагрузки на систему управления правами доступа для групп пользователей
  • Оптимизированы дистрибутивы некоторых пакетов за счёт удаления некоторых файлов, которые были необходимы для старого дизайна административного интерфейса

Zion WebEngine Zion Mail Back Zion JivoSite Zion Multi-Lang Zion Banners Manager Zion Sender Zion Server Zion Bulletins Board Zion Polls База данных/Таблицы данных Доступ Групп пользователей Классы Контент/Контентные единицы Онлайн-консультант

Zion WebEngine X9.01.23
  • Повышена производительность за счёт упразднения или оптимизации некоторых функций (спасибо Новый стандарт):
    • Доработаны классы для управления базой данных, местом в структуре, обменом сообщениями, пользователями и уведомлениями для авторизованных пользователей

Zion WebEngine Zion User Control Zion Chat База данных/Таблицы данных Доступы/Пользователи Классы Место в структуре Обмен сообщениями/Чат Уведомления

Zion WebEngine X9.01.22
  • Доработан класс для управления проектом:
    • В административный интерфейс внесены некоторые коррективы, учитывающие комплект поставки

Zion WebEngine Что такое Комплект поставки? Административный интерфейс Классы

Zion WebEngine X9.01.21
  • Устранены ошибки в комплекте поставке предыдущей версии Zion Chat (спасибо Новый стандарт):

Zion Chat Обмен сообщениями/Чат

Zion WebEngine X9.01.17
  • Из пакета Zion User Control в пакет Zion WebEngine перенесены некоторые компоненты для работы с аватарами пользователей

Zion WebEngine Zion User Control Аватар/Логотип Доступы/Пользователи

Zion WebEngine X9.01.16
  • Из пакета Zion Catalog выделен отдельный новый пакет Zion Export (позволяет автоматически экспортировать данные в 1С и аналогичные системы через XML-файлы):
    • Из пакета Zion Catalog также удалены некоторые компоненты, необходимые для старой версии административного интерфейса
    • Доработано создание записей по умолчанию для способов уведомления о заказах
  • Доработан класс для управления базой данных:
    • Дополнен список уведомлений, которые сообщают о необходимости добавить те или иные компоненты при отсутствии их в комплекте поставки

Zion WebEngine Zion Catalog Zion Export Что такое Комплект поставки? XML/RSS/1С/YML Административный интерфейс База данных/Таблицы данных Импорт/Экспорт Интернет-магазин Классы Реакции на заказ Уведомления

Zion WebEngine X9.01.15
  • Продолжается внедрение нового дизайна для административного интерфейса:
    • Доработано меню администратора для всех пакетов
    • Доработан класс для управления шаблонами:
      • Устранены проблемы с отображением списка добавляемых и клонируемых элементов
    • Доработаны вспомогательные классы для управления элементами:
      • Устранены проблемы с отменой удаления элементов из шаблона
    • Устранены проблемы с отображением некоторых инструкций
    • Доработаны формы для настройки уведомлений о новых заказах на системный e-mail и в XML-файлы
    • Доработаны классы для управления уведомлениями и проектом, а также главный файл интерфейса администратора и CSS-оформление для интерфейса администратора
      • Новый дизайн уже доступен во всех поставках, но некоторые его новые возможности станут доступны только в ближайших обновлениях
    • Доработано отображение пути к редактируемому объекту:
      • Для этого создан вспомогательный класс для управления интерфейсом администратора
    • Реализована панель инструментов, которая закрепляется в верхней части интерфейса администратора, и на которой всегда будут доступны кнопки для основных операций для редактируемого в данный момент объекта:
      • Уже доступны следующие кнопки:
        • Показать/скрыть меню
        • Установленные пакеты: в выпадающем списке можно посмотреть комплект поставки и краткое описание для каждого установленного пакета, а также перейти к подробному описанию и к списку всех остальных пакетов (пока отсутствующих в поставке)
        • Уведомления: выпадающий список появляется и автоматически открывается только, если для Вас есть уведомления.
          • Счётчик на этой кнопке отображает количество уведомлений
          • Цвет счётчика на этой кнопке показываеть степень важности уведомлений:
            • Зелёный - выполнено
            • Синий - примите к сведению
            • Жёлтый - важно
            • Красный - опасно
        • Перейти на сайт: главная страница сайта откроется в новом окне
        • Добавить новую запись: пока доступно только в списке контентных единиц и в выбраннной контентной единице
        • Удалить все записи: пока доступно только в списке контентных единиц
      • Остальные кнопки появятся в ближайших обновлениях

Zion WebEngine Zion User Control Zion Catalog Zion Mail Back Zion SEO Booster Zion xDelivery Zion Gallery Zion Pub Hub Zion JivoSite Zion Chat Zion Multi-Lang Zion Banners Manager Zion Sender Zion Server Zion Robokassa Zion Qiwi Zion Bulletins Board Zion Polls Email-сообщения XML/RSS/1С/YML Административный интерфейс Классы Контент/Контентные единицы Меню администратора Обновления CMS Панель инструментов Помощники/Мастеры/Инструкции/Подсказки Реакции на заказ Уведомления Формы Шаблоны контента Элементы

Zion WebEngine X9.01.14
  • Доработан класс для управления пользователями (спасибо Новый стандарт):
    • Устранены недочёты при определении даты следующего списания абонентской платы
    • Устранены недочёты при определении того, требуется ли для указанного пользователя учёт абонентской платы
  • Продолжается внедрение нового дизайна для административного интерфейса:
    • Доработан класс для управления базой данных
      • Уже можно увидеть изменённую форму добавления новой записи
    • Остальные изменения появятся в ближайших обновлениях

Zion WebEngine Административный интерфейс База данных/Таблицы данных Баланс пользователя/Абонентская плата Доступы/Пользователи Классы Обновления CMS Формы

Zion WebEngine X9.01.12
  • Продолжается внедрение нового дизайна для административного интерфейса:
    • Доработаны очень многие классы в нескольких пакетах
    • Доработан плагин меню администратора
    • Исправлена информация об авторских правах для доработанных компонентов
    • Уже можно увидеть новый путь ("хлебные крошки") к тому что, редактируется в данные момент:
      • Остальные изменения появятся в ближайших обновлениях

Zion WebEngine Zion Catalog Zion Gallery Zion JivoSite Zion Multi-Lang Zion Bulletins Board Административный интерфейс Классы Меню администратора Обновления CMS Плагины

Zion WebEngine X9.01.10
  • Доработан вспомогательный класс для управления элементами (спасибо Новый стандарт):
    • Для всех элементов теперь доступен плагин _CheckedIfNotVoid, позволяющий выводить код checked, если указанное в параметрах поле указанной там же записи не пустое:
      • Может быть полезно для организации различных форм (с галочками), в которых нужно учитывать содержимое базы данных
  • Доработан главный файл гостевого интерфейса

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

Zion WebEngine X9.01.06
  • Доработан класс для управления пользователями (спасибо Новый стандарт):
    • Устранены некоторые недочёты при работе с абонентской платой и балансом пользователя

Zion WebEngine Баланс пользователя/Абонентская плата Доступы/Пользователи Классы

Zion WebEngine X9.01.04
  • Доработаны страницы ошибок
  • Доработан плагин Meta:
    • Изменены некоторые служебные заголовки для поисковых роботов
  • Доработаны инструкции для CKeditor и СДЭК
  • Доработан элемент для управления HTML-кодом веб-страницы
  • Доработаны уведомления о заказах на системный e-mail
  • Доработаны обработчики для добавления объявления и для форм обратной связи и обратного звонка
  • Доработана система мониторинга для ядра, базы данных и объявлений
  • Доработан плагин email-рассылки:
    • Изменены некоторые служебные заголовки для почтовых серверов
  • Начато внедрение нового дизайна для административного интерфейса
    • Доработаны очень многие классы почти во всех пакетах
    • Доработано меню администратора почти для всех пакетов
    • Доработан главный файл административного интерфейса

Zion WebEngine Zion User Control Zion Catalog Zion Mail Back Zion SEO Booster Zion xDelivery Zion Gallery Zion JivoSite Zion Chat Zion Multi-Lang Zion Banners Manager Zion Sender Zion Server Zion Bulletins Board Zion Polls Email-сообщения HTML-код веб-страницы SEO-параметры Административный интерфейс База данных/Таблицы данных Доступы/Пользователи Классы Меню администратора Мониторинг Объявления Обработчики Обратная связь/Обратный звонок Плагины Помощники/Мастеры/Инструкции/Подсказки Рассылки Реакции на заказ Редактор контента/WYSIWYG-редактор СДЭК Страницы ошибок Формы Шаблоны контента Элементы

Zion WebEngine X8.12.28
  • Доработан класс для управления пользователями (спасибо Новый стандарт):
    • Теперь в качестве аватара/логотипа можно использовать не только JPG, но и PNG- и GIF-изображения
    • В реквизитах пользователя теперь можно указывать, является ли он плательщиком НДС
  • Доработан элемент HTML-код веб-страницы:
    • Добавлено условие, при использовании которого можно отображать разный код в зависимости от того, является ли указнный пользователь плательщиком НДС

Zion WebEngine HTML-код веб-страницы Административный интерфейс Доступы/Пользователи Изображение Классы Условия Элементы

Zion WebEngine X8.12.27
  • Доработан класс для управления пользователями, как элементом контента (спасибо Новый стандарт):
    • При выборе пользователя в административном интерфейсе теперь отображается не только имя и логин, но также и ID пользователя

Zion User Control Административный интерфейс Доступы/Пользователи Классы Контент/Контентные единицы Элементы

Zion WebEngine X8.12.25
  • Доработан класс для управления пользователями (спасибо Новый стандарт):
    • Доработано возможность при правке пользователей использовать вкладки не только из стандартных классов, но и из классов от сторонних разработчиков

Zion WebEngine Вкладки Доступы/Пользователи Классы

Zion WebEngine X8.12.24
  • Доработан вспомогательный класс для управления вкладками (спасибо Новый стандарт):
    • Теперь при правке пользователей и групп пользователей можно использовать вкладки не только из стандартных классов, но и из классов от сторонних разработчиков

Zion WebEngine Вкладки Доступ Групп пользователей Доступы/Пользователи Классы

Zion WebEngine X8.12.21
  • Доработан элемент "HTML-код веб-страницы"(спасибо ПромМашПермь):
    • Расширен список доступных условий для для тонкой настройки:
      • В том числе можно выводить разный код в зависимости от того, равно ли указанное свойство, указанному значению
  • Доработан класс для управления пользователями (спасибо Новый стандарт):
    • Упрощено определение того, является ли пользователь "платным"
  • Доработана форма обратной связи (спасибо Балкон-Мастер):
    • Улучшена адаптивность

Zion WebEngine Zion Mail Back HTML-код веб-страницы Баланс пользователя/Абонентская плата Доступы/Пользователи Обратная связь/Обратный звонок Свойства Условия Формы Элементы

Zion WebEngine X8.12.19
  • Доработан элемент "Число":
    • Вместо ранее созданого одного плагин для упрощения замены в числах точки на запятую и наоборот созданы два отдельных плагина - так данный функционал проще использовать

Zion Catalog Плагины Число Элементы