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

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 22.08.23
  • Доработан монитор очистки после обновления CMS:
    • Реализована автоматическая корректировка PHP-кода для наилучшей совместимости с веб-сервером
      • В случая, когда автоматическая корректировка противопоказана, будет выдано уведомление о необходимости обратиться к разработчику сайта для ручной корректировки
  • Также для наилучшей совместимости с веб-сервером доработаны некоторые классы и обработчики

Zion WebEngine Zion Mail Back Zion Import Технические требования PHP Веб-сервер/Хостинг Классы Мониторинг Обновления CMS Обработчики Уведомления

Zion WebEngine 22.08.22
  • Продолжен перевод на новую платформу пакета Zion Sender (спасибо КСБ Рус):
    • Реализовано создание очереди для email-сообщений:
      • При каждом обращении к сайту, происходит автоматическая отправка одного сообщения (так удаётся обойти спам-фильтры, блокирующие массовые рассылки)
    • Налажен живой поиск по рассылкам
    • Разработка ещё не завершена
  • Доработан монитор очистки после обновления CMS:
    • Расширен список устаревших файлов и папок, которые будут автоматически удалены за ненадобностью
  • Оптимизирован код некоторых драйверов:
    • Удалены более ненужные функции, которые требовались только для старой платформы
  • Доработан класс для управления email-сообщениями:
    • В разделе Справочники теперь можно видеть очередь email-сообщений, как имеющих, так и не имеющих отношение к рассылкам:
      • Сообщения можно редактировать, если они ещё не успели отправиться
      • Доступно при наличии в комплекте поставки Zion Sender
  • Доработаны классы для управления базой данных и проектом, а также вспомогательный класс для управления вкладками:
    • Сделано несколько исключений для скрытия тех или иных кнопок при правке рассылок в административном интерфейсе

Zion WebEngine Zion Sender Email-сообщения Административный интерфейс База данных/Таблицы данных Вкладки Доступы/Пользователи Драйверы Классы Мониторинг Обновления CMS Платформа Поиск текста Рассылки Спам Файлы/Папки Что такое Вкладки?

Zion WebEngine 22.08.19
  • Доработано меню администратора для Ядра (спасибо Федерация Киокушин России):
    • Устранены проблемы с отображением пути до некоторых элементов меню

Zion WebEngine Меню администратора

Zion WebEngine 22.08.18
  • Доработано несколько классов в нескольких пакетах:
    • Устранены проблемы с отображением пути до элемента, выбранного в меню администратора

Zion WebEngine Zion Catalog Zion Mail Back Zion Import Zion Gallery Zion Export Zion JivoSite Zion Chat Что такое Меню администратора? Классы Меню администратора

Zion WebEngine 22.08.17
  • Доработаны JS-скрипты для административного интерфейса:
    • Теперь при очень быстрой правке элемента Связи, каждое новое действие может быть выполнено только после завершения предыдущего:
      • Ранее могло создаваться впечателение, что необходимая связь добавлена или ненужная связь удалена, хотя фактически этого могло не произойти из-за асинхронной природы JavaScript

Zion WebEngine Административный интерфейс Связи Элементы Что такое Элементы?

Zion WebEngine 22.08.16
  • Продолжен перевод на новую платформу пакета Zion Sender (спасибо КСБ Рус):
    • На основе заданных условий реализован отбор пользователей, которым должна быть отправлена та или иная рассылка
    • Реализована подстановка свойств проекта и свойств пользователя в текст рассылки
    • Разработка ещё не завершена
  • Доработан класс для управления пользователями:
    • Налажено более корректное отображение баланса, который может быть не только целым числом

Zion WebEngine Zion Sender Баланс пользователя/Абонентская плата Доступы/Пользователи Платформа Рассылки Свойства Число Что такое Классы?

Zion WebEngine 22.08.15
  • Доработана система мониторинга для Google reCAPTCHA:
    • Повышена совместимость с некоторыми веб-серверами

Zion Mail Back Что такое система Мониторинга? Веб-сервер/Хостинг Мониторинг Спам

Zion WebEngine 22.08.12
  • Доработан класс для управления базой данных:
    • Теперь CMS отправляет корректный код ошибки, в случае, если временно недоступна база данных:
      • Это может привести, в том числе, к автоматической остановке Ваших рекламных кампаний, когда с сайтом, что-то не так, и к автоматическому возобновлению рекламы, когда сайт начнёт работать корректно
  • Доработан класс для управления проектом:
    • Живой поиск в административном интерфейсе теперь корректно реагирует на сочетание клавиш Ctrl+V (Вставить) на клавиатуре

Zion WebEngine Что такое Административный интерфейс и Гостевой интерфейс? Административный интерфейс База данных/Таблицы данных Классы Поиск текста Страницы ошибок

Zion WebEngine 22.08.10
  • Продолжен перевод на новую платформу пакета Zion Sender (спасибо КСБ Рус):
    • Реализовано управление условиями, при которых должны запускаться рассылки:
      • Можно выбирать группу пользователей, из которой должны отбираться получатели рассылки
      • Можно по тем или иным полям в БД отбирать зарегистрированных пользователей, которые должны стать получателями рассылки
  • Доработан монитор очистки после обновления CMS:
    • Расширен список устаревших файлов и папок, которые будут автоматически удалены за ненадобностью
  • Доработано меню администратора для Ядра
    • Мастеры для вставки плагинов теперь находятся в разделе Инструменты
  • Оптимизирован код некоторых драйверов:
    • Удалены более ненужные функции, которые требовались только для старой платформы

Zion WebEngine Zion Sender Что такое Меню администратора? База данных/Таблицы данных Доступ Групп пользователей Доступы/Пользователи Драйверы Меню администратора Мониторинг Обновления CMS Платформа Помощники/Мастеры/Инструкции/Подсказки Рассылки Файлы/Папки

Zion WebEngine 22.08.09
  • Доработан класс для управления проектом:
    • Теперь более корректно работает страница приветствия
    • Теперь более корректно работает инструмент Информация о сервере
  • Доработан класс парсера стороннего сайта (спасибо Moto-Retail18):
    • Теперь от функционала класса отделены все JS-функции (они вынесены в отдельный JS-файл)

Zion WebEngine Zion Import Импорт/Экспорт Классы Что такое Классы?

Zion WebEngine 22.08.04
  • Начат перевод на новую платформу пакета Zion Sender (спасибо КСБ Рус):
    • Из комплекта поставки удалены все архаизмы
    • Доработано меню администратора
    • Реализовано управление шаблонами сообщений:
      • Доступна правка текста и/или HTML-кода для email-сообщений
      • Доступна правка текста для SMS-сообщений
  • Доработан монитор очистки после обновления CMS:
    • Расширен список устаревших файлов и папок, которые будут автоматически удалены за ненадобностью

Zion WebEngine Zion Sender Что такое Комплект поставки? HTML-код веб-страницы SMS Меню администратора Мониторинг Обновления CMS Платформа Рассылки Файлы/Папки

Zion WebEngine 22.08.03
  • Доработан настраиваемый модуль доставки через Почту России (спасибо Moto-Retail18):
    • Устранены недочёты из предыдущего обновления, выявленные при "боевых" испытаниях

Zion xDelivery Настраиваемые модули Обновления CMS Способы доставки/самовывоза

Zion WebEngine 22.08.02
  • Доработан настраиваемый модуль доставки через Почту России (спасибо Moto-Retail18):
    • Налажена отправка уведомлений о начале движения посылки

Zion xDelivery Классы Настраиваемые модули Реакции на заказ Способы доставки/самовывоза Уведомления Что такое Классы?

Zion WebEngine 22.07.28
  • Доработан настраиваемый модуль доставки через Почту России (спасибо Moto-Retail18):
    • Устранена ошибка, которая могла препятствовать отправке уведомлений об изменении статуса доставки

Zion xDelivery Классы Настраиваемые модули Реакции на заказ Способы доставки/самовывоза Уведомления

Zion WebEngine 22.07.27
  • Доработан класс для управления пользователями (спасибо КСБ Рус):
    • Теперь доступна авторизация пользователей через указание ID, если для них не указан логин:
      • Такое возможно, например, для пользователей, которые созданы через импорт данных из XML:
        • ID в данном случае может быть номером клиента или договора, который обычно указывается в "платёжках" и известен каждому конкретному клиенту
      • При этом в качестве пароля по умолчанию используется контактный телефон, который должен быть указан в импортируемых данных

Zion WebEngine XML/RSS/1С/YML Доступы/Пользователи Импорт/Экспорт Классы Что такое Классы?

Zion WebEngine 22.07.26
  • Доработан класс для управления пользователями (спасибо КСБ Рус):
    • Внесено множество корректировок в импорт данных о пользователях их XML
  • Доработан класс для управления импортом данными о товарах из XML:
    • Устранены некоторые недочёты

Zion WebEngine Zion Import XML/RSS/1С/YML Доступы/Пользователи Импорт/Экспорт Классы Сайт-каталог Как импортировать данные о товарах из XML

Zion WebEngine 22.07.21
  • Доработан класс для управления пользователями (спасибо Moto-Retail18):
    • Теперь уведомление о создании системного администратора отправляется только, если удалось проверить, что он действительно создан или обновлён

Zion WebEngine Доступы/Пользователи Классы Уведомления

Zion WebEngine 22.07.19
  • Доработан класс для управления пользователями (спасибо Moto-Retail18):
    • Теперь попытка создать системного администратора производится только при наличии корректного подключения к базе данных:
      • Ранее, например, во время перезагрузки СУБД могло приходить множество уведомлений о том, что создан системный администратор. Хотя, на самом деле ничего не происходило, т.к. БД была недоступна

Zion WebEngine База данных/Таблицы данных Доступы/Пользователи Классы Уведомления Что такое Классы?

Zion WebEngine 22.07.18
  • Доработан класс для управления пользователями (спасибо КСБ Рус):
    • Теперь в предпросмотре импортируемых данных о пользователях более корректно отображаются имена пользователей

Zion WebEngine Доступы/Пользователи Импорт/Экспорт Классы

Zion WebEngine 22.07.15
  • Доработан класс для управления пользователями (спасибо КСБ Рус):
    • Теперь в предпросмотре импортируемых данных о пользователях видно, как они будут скорректированы в случае, если не соответсвуют тем или иным параметрам
  • Доработан класс для управления базой данных:
    • Упрощена проверка на корректность идентификаторов

Zion WebEngine База данных/Таблицы данных Доступы/Пользователи Импорт/Экспорт Классы Как импортировать данные о пользователях из XML

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

Как импортировать данные о пользователях из 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-параметры