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

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.10.18
  • Доработан элемент Выбор одного из вариантов:
    • Поле Свой вариант теперь появляется только, когда это необходимо
  • Доработаны административные JS-скрипты:
    • Расширен список доступных JS-функций
  • Доработан элемент Связи:
    • Теперь для каждого шаблона можно настроить список типов, с записями которых может быть установлена связь в ту или в другую сторону
    • По умолчанию для связи доступны все типы
    • Также доступен просмотр древовидного списка всех записей всех типов и список уже установленных связей
    • Если ни один тип не выбран, то функционал, необходимый для связывания скрывается
  • Доработан класс для управления базой данных:
    • Теперь для использования ID в том числе доступен символ . (точка)
  • Доработан монитор работоспособности сервера обновлений:
    • Внесены корректировки в связи с начавшейся реорганизации страницы приветствия в административном интерфейсе

Zion WebEngine Zion Catalog Zion Server Административный интерфейс База данных/Таблицы данных Веб-сервер/Хостинг Выбор одного из вариантов Классы Кодировки/Наборы символов Мониторинг Обновления CMS Связи Типы Шаблоны контента Элементы Что такое Элементы?

Zion WebEngine 22.10.14
  • Доработан XML/1C-экспорт данных о заказе в интернет-магазине (спасибо Moto-Retail18):
    • Учтена вероятность указания в комментарии к заказу и в других полях некоторых спецсимволов
  • Доработан класс для управления миграцией со старых версий CMS (спасибо Мария и Иоанн):
    • Улучшена миграция меню/списков и плагинов, необходимых для функционирования интернет-магазина
  • Доработан класс для управления навигацией:
    • Из списка меню по умолчанию удалены некоторые архаизмы
  • Доработан класс для управления корзиной заказов:
    • Более продуманно организованы поля в форме заказа

Zion WebEngine Zion Catalog Zion Export XML/RSS/1С/YML Импорт/Экспорт Интернет-магазин Классы Кодировки/Наборы символов Корзина для заказов Меню/Списки/Навигация Миграция Реакции на заказ Плагин Menu

Zion WebEngine 22.10.13
  • Доработан класс для управления миграцией со старых версий CMS (спасибо Мария и Иоанн):
    • Улучшена миграция товаров, их категорий и характеристик, а также обработчиков, необходимых для функционирования интернет-магазина
  • Доработан класс для управления контентом:
    • Теперь более корректно отображается список характеристик с указанных вкладок:
      • Как только заполненных, так и всех характеристик

Zion WebEngine Вкладки Интернет-магазин Категории Классы Контент/Контентные единицы Миграция Обработчики Характеристики/Разновидности Что такое Вкладки?

Zion WebEngine 22.10.05
  • Доработан класс для управления базой данных (спасибо Испытательный центр "Строитель"):
    • Теперь CMS отправляет корректный код ошибки, в случае, если недоступен или некорректно сконфигурирован Memcached:
      • Это может привести, в том числе, к автоматической остановке Ваших рекламных кампаний, когда с сайтом, что-то не так, и к автоматическому возобновлению рекламы, когда сайт начнёт работать корректно
    • Более корректно налажено использование функционала Memcached
  • Доработаны классы для управления проектом:
    • Упрощён вывод тех или иных ошибок через новую функцию, для которой доступно указание нескольких параметров:
      • Код ошибки
      • Заголовок страницы ошибки
      • Текст с описанием и рекомендацией по устранению ошибки

Zion WebEngine Что такое CMS Zion WebEngine? База данных/Таблицы данных Классы Кэш/Кеш Страницы ошибок

Zion WebEngine 22.10.04
  • Доработан общий монитор функциональности SEO-оптимизации (спасибо ZS-Moskva):
    • Более продуманно организовано формирование файла SiteMap.XML:
      • Для этого теперь требуется многократно меньше оперативной памяти
      • Сам файл теперь занимает в 2 раза меньше места на диске
      • Доступно формирование значительно более крупного файла без создания проблем для работы других компонентов CMS

Zion SEO Booster SEO-параметры XML/RSS/1С/YML Мониторинг Элемент "SEO-параметры"

Zion WebEngine 22.10.03
  • Доработан класс для управления проектом (спасибо Manner Sensortelemetrie):
    • Устранены некоторые недочёты, допущенные в предыдущем обновлении
  • Доработан класс для управления email-сообщениями:
    • Более продуманно организована автоматическая корректировка таблицы данных для хранения email-сообщений

Zion WebEngine Email-сообщения База данных/Таблицы данных Классы Обновления CMS Что такое Классы?

Zion WebEngine 22.09.30
  • Доработаны классы для управления баннерами и баннерными местами, контентом, способами доставки/самовывоза и оплаты, автоматическими скидками и скидочными уровнями, точками доставки/самовывоза, галереями, email-сообщениями и рассылками, меню и списками, заказами и реакциями на заказы, вкладками, шаблонами и типами, транспортными компаниями, пользователями и их группами:
    • Более продуманно организован живой поиск в административном интерфейсе для этих классов:
      • Теперь в начале списка выводятся записи, в названиях или в ID которых содержится поисковый запрос:
        • Уже далее отображаются все остальные записи - те, которые содержат искомую фразу в других полях
      • Устранены опечатки в результатах поиска
  • Доработан класс для управления обновлениями на стороне сервера:
    • Внесены корректировки в процедуру обновления CMS - ведутся испытания

Zion WebEngine Zion Catalog Zion xDelivery Zion Gallery Zion Banners Manager Zion Sender Zion Server Email-сообщения Административный интерфейс Баннеры Веб-сервер/Хостинг Вкладки Галереи/Слайды Доступ Групп пользователей Доступы/Пользователи Классы Контент/Контентные единицы Корзина для заказов Меню/Списки/Навигация Обновления CMS Поиск текста Рассылки Реакции на заказ Скидки/Наценки Способы доставки/самовывоза Способы оплаты Типы Шаблоны контента Что такое Тип контента?

Zion WebEngine 22.09.27
  • Доработан класс для управления миграцией со старых версий CMS (спасибо Manner Sensortelemetrie):
    • Улучшена миграция товаров, их категорий и плагинов, необходимых для каталога
    • Более продуманно организована корректировка HTML-кода, необходимого для отображения уведомлений

Zion WebEngine Что такое CMS Zion WebEngine? HTML-код веб-страницы Категории Классы Миграция Сайт-каталог Уведомления

Zion WebEngine 22.09.23
  • Доработаны классы для управления заказами и проектом, а также административные JS-скрипты:
    • Реализована возможность живого поиска в административном интерфейсе для таких, классов, которые используют несколько таблиц данных:
      • В том числе для класса для управления заказами теперь доступен поиск, как по заказам, так и по реакциям на заказ
      • Для других классов с такой особенностью поиск будет доработан в ближайших обновлениях

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

Zion WebEngine 22.09.16
  • Доработан парсер стороннего сайта (спасибо Moto-Retail18):
    • Поле для названия в таблице данных об импортируемых товарах и категориях увеличено в 2 раза

Zion Import База данных/Таблицы данных Импорт/Экспорт Категории Сайт-каталог

Zion WebEngine 22.09.15
  • Доработан парсер стороннего сайта (спасибо Moto-Retail18):
    • Устранены недочёты при отображении наценки или скидки для импортируемых со стороннего сайта товаров
  • Доработан класс для управления миграцией со старых версий CMS (спасибо Manner Sensortelemetrie):
    • Теперь мигратор совместим с версией WebEngine X6.10.13
    • Налажена миграция текстового поиска по сайту из старой платформы в новую

Zion WebEngine Zion WebEngine X6.10.13 Zion Import Что такое CMS Zion WebEngine? Импорт/Экспорт Классы Миграция Поиск текста Сайт-каталог Скидки/Наценки

Zion WebEngine 22.09.12
  • Доработаны настраиваемые модули реакций на заказ для уведомления на системный email и по SMS (спасибо Пермский период):
    • Устранены опечатки в текстах уведомлений

Zion WebEngine Zion Catalog Email-сообщения SMS Настраиваемые модули Реакции на заказ

Zion WebEngine 22.09.09
  • Доработаны настраиваемые модули для онлайн-оплаты через Альфа Банк, ПромСвязьБанк, Сбер Банк, Тинькофф, Киви Кассу и Робокассу (спасибо Пермский период):
    • Устранена уязвимость, которая могла привести к оплате одного заказа на стоимость другого заказа от того же покупателя
  • Доработаны классы для управления заказами и проектом:
    • Реализован живой поиск по заказам в административном интерфейсе

Zion WebEngine Zion Catalog Zion xPayment Robokassa Административный интерфейс Интернет-магазин Классы Корзина для заказов Настраиваемые модули Поиск текста Способы оплаты Что такое Классы?

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

Zion WebEngine Zion Import Zion xPayment Что такое Административный интерфейс и Гостевой интерфейс? Email-сообщения Robokassa Административный интерфейс Адрес (URL)/ЧПУ/Переадресация Импорт/Экспорт Классы Корзина для заказов Настраиваемые модули Поиск текста Сайт-каталог Скидки/Наценки Способы оплаты

Zion WebEngine 22.09.05
  • Доработаны PHP-класс и JS-функции парсера стороннего сайта (спасибо Moto-Retail18):
    • Реализована возможность установить наценку или скидку для любого импортированного со стороннего сайта товара:
      • Ведутся боевые испытания

Zion Import PHP Импорт/Экспорт Классы Сайт-каталог Скидки/Наценки Что такое Классы?

Zion WebEngine 22.09.02
  • Доработан класс для управления файлами и папками (спасибо ColorHouse.Shop):
    • Устранены недочёты в инструменте Размеры файлов и папок
  • Доработан вспомогательный класс для управления вкладками (спасибо КСБ Рус):
    • Устранены недочёты с отображением кнопок на вкладке Опции при правке тех или иных записей в административном интерфейсе

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

Zion WebEngine 22.08.30
  • Доработан класс для управления миграцией со старых версий CMS (спасибо Возрождение):
    • Теперь мигратор совместим с версией WebEngine 3.3.6
  • Доработана система мониторинга для Google reCAPTCHA:
    • Теперь она не будет запускаться при работе на локальном веб-сервере

Zion WebEngine DEKO WebEngine 3.3.6 Zion Mail Back Что такое CMS Zion WebEngine? Веб-сервер/Хостинг Классы Миграция Мониторинг Спам

Zion WebEngine 22.08.26
  • Доработаны JS-функции парсера стороннего сайта (спасибо Moto-Retail18):
    • Теперь для снижения нагрузки на базу данных, парсер будет работать в 2 раза медленнее
  • Доработан класс для управления email-сообщениями:
    • Автоматическое обновление структуры таблицы данных email-сообщений теперь происходит более корректно и не вызывает ошибок при оформлении заказа в интернет-магазине
  • Доработан класс для управления водяными знаками:
    • В случае, если необходимо создать копию с водяным знаком для файла, который имеет недопустимый адрес (в том числе если такой файл не найден), работа по созданию копии принудительно завершается:
      • В качестве результата соответствующий метод вернёт не адрес копии (которой нет), а адрес оригинала (которого либо нет, либо который имеет недопустимый адрес)

Zion WebEngine Zion Import Zion Gallery Email-сообщения База данных/Таблицы данных Импорт/Экспорт Интернет-магазин Классы Корзина для заказов Файлы/Папки Что такое Классы?

Zion WebEngine 22.08.25
  • Продолжен отказ от устаревших компонентов старой платформы:
    • Доработан монитор очистки после обновления CMS:
      • Расширен список устаревших файлов и папок, которые будут автоматически удалены за ненадобностью
      • Реализована возможность автоматического удаления некоторых папок для устаревших компонентов только в том случае, если эти папки пусты:
        • Если эти папки не пусты, то будет выдано уведомление о необходимости обратиться к разработчику сайта для ручного удаления
    • Некоторые драйверы удалены полностью, а из некоторых других драйверов функционал разнесён по классам и плагинам:
      • Для лучшей совместимости с другими пакетами класс для управления числами перенесён из пакета Zion Catalog в пакет Zion WebEngine

Zion WebEngine Zion Catalog Zion xDelivery Zion Gallery Zion Pub Hub Zion Export Zion Sender Zion Booking Драйверы Классы Мониторинг Обновления CMS Плагины Платформа Уведомления Файлы/Папки Число Что такое Плагины?

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

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

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

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