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

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.05.21
  • Доработан класс для управления связями между записями:
    • Повышена совместимость с PHP 7.2.1

Zion WebEngine PHP Классы Связи

Zion WebEngine X8.05.19
  • Доработан класс для управления куки-массивами:
    • Повышена совместимость с PHP 7.2.1

Zion WebEngine PHP Вкладки Куки

Zion WebEngine X8.05.18
  • Улучшена совместимость с PHP 7.2.1:
    • Доработан плагин галереи (спасибо Polarus)
    • Доработан плагин универсального меню (спасибо Единый Центр Недвижимости)
    • Доработан класс для управления категориями

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

Zion WebEngine X8.05.17
  • Доработан класс для управления email-сообщениями:
    • Переработан алгоритм вывода уведомлений об ошибках
  • Доработан класс для управления навигацией:
    • Переработаны многие меню/списки по умолчанию, связанные с заказами в интернет-магазине
  • Завершено тестирование использования различных способов доставки и оплаты:
    • Доработаны классы для управления корзиной и для управления способами доставки

Zion WebEngine Zion Catalog Zion Mail Back Email-сообщения Интернет-магазин Классы Корзина для заказов Меню/Списки/Навигация Способы доставки/самовывоза Способы оплаты Уведомления

Zion WebEngine X8.05.16
  • Доработан класс для управления email-сообщениями (спасибо Moto-Retail18):
    • В случае, если по какой-либо причине сообщение через SMTP не удалось отправить с первой попытки, попытка повторяется:
      • Пауза перед каждой следующей попыткой увеличивается (полезно для проблем, которые устраняются автоматически, но не моментально)
      • После десятой неудачной попытки SMTP-отправки выводится уведомление с предложением связаться другим способом (полезно, для проблем, которые не устраняются автоматически):
        • В зависимости от того, есть ли в комплекте поставки онлайн-консультант, и включен ли он, могут выводиться разные предложения (например, написать в чат)
        • Также дополнительно производится попытка оправить сообщение через php-функцию mail
  • Доработан класс для управления корзиной заказов:
    • Улучшена форма заказа
    • Подсчёт стоимости заказа лучше учитывает стоимость доставки
  • Доработан класс для управления способами доставки:
    • Доработано несколько имеющихся и создано несколько новых функций
  • Доработан класс для управления модулем расчёта стоимости и срока доставки через СДЭК:
    • Устранены некоторые недочёты
    • Испытания и разработка продолжаются
  • Доработан класс для управления навигацией:
    • Внесены коррективы в некоторые меню по умолчанию, связанные с оформлением заказа в интернет-магазин

Zion WebEngine Zion Catalog Zion Mail Back Zion xDelivery Email-сообщения PHP SMTP/PHP-mail Интернет-магазин Классы Корзина для заказов Меню/Списки/Навигация Настраиваемые модули Онлайн-консультант СДЭК Способы доставки/самовывоза Уведомления Формы

Zion WebEngine X8.05.15
  • Доработан класс для управления способами оплаты:
    • Устранена вероятность раскрытия конфиденциальных данных при неумелом формировании списка способов оплаты
    • Реализована возможность отключения временно ненужных способов оплаты (вместо их удаления)
  • Доработан класс для управления модулем оплаты через Robokassa:
    • Устранены опечатки в инструкции
  • Доработан класс для управления базой данных:
    • Устранена вероятность несохранения некоторых типов данных
  • Доработан плагин универсального меню:
    • Реализована возможность отображать список только доступных способов доставки и отплаты (отключенные выводиться не будут)
    • Реализован новый функционал в списке способов доставки по умолчанию
  • Создан новый пакет Zion ExpressDelivery:
    • Начата разработка набора компонентов для расчёта стоимости и сроков, а также оформления доставки из интернет-магазина в режиме on-line
    • В комплект поставки включён нативный класс для расчёта стоимости и сроков доставки от СДЭК
    • Создан класс для управления доставкой через СДЭК
      • Реализована возможность автоматически корректировать структуру базы данных при необходимости
      • Реализованы правка и сохранение параметров:
        • Тариф и режим доставки
        • Отсрочка в днях
        • Индекс отправителя
        • Вес и габариты товаров по умолчанию
        • Данные авторизации
      • Создана краткая инструкция
      • Ведутся испытания в боевом режиме
  • Доработан класс для управления способами доставки:
    • Устранена вероятность раскрытия конфиденциальных данных при неумелом формировании списка способов доставки
    • Дополнен список способов доставки по умолчанию
    • Реализована возможность подключать и настраивать модули различных систем доставки
    • Реализована возможность отключения временно ненужных способов доставки (вместо их удаления)
  • Доработан класс для управления вкладками:
    • Добавлены некоторые особые возможности для управления модулями систем доставки
  • Доработан драйвер для управления классами:
    • Теперь при отсутствии запрашиваемого класса работа системы не останавливается.
    • Уведомление по-прежнему выводится, но в другом формате
  • Доработан класс для управления куки-массивами:
    • Расширен функционал
  • Доработан класс для управления корзиной заказов:
    • Форма заказа теперь динамически реагирует на данные покупателя и показывает данные о стоимости и сроке доставки

Zion WebEngine Zion Catalog Zion xDelivery Zion Robokassa Robokassa База данных/Таблицы данных Вес и габариты Вкладки Драйверы Интернет-магазин Классы Корзина для заказов Куки Меню/Списки/Навигация Настраиваемые модули Плагины Помощники/Мастеры/Инструкции/Подсказки СДЭК Способы доставки/самовывоза Способы оплаты Уведомления Формы

Zion WebEngine X8.05.14
  • Завершён перевод пакета Zion Robokassa на новую платформу:
    • Доработана графическая составляющая пакета
    • Улучшен редактор параметров
    • Создана инструкция по заданию параметров
    • Реализованы новые плагины и обработчики
    • Устранены все архаизмы от старой платформы
  • Доработан класс для управления навигацией:
    • Устранены недочёты в меню товаров в заказе по умолчанию
  • Доработан класс для управления способами доставки:
    • Расширен функционал
  • Доработан класс для управления корзиной заказов:
    • Реализована подключение модулей оплату тогда, когда это необходимо
  • Доработан класс для управления способами оплаты:
    • Скорректирован список записей, доступных по умолчанию

Zion WebEngine Zion Catalog Zion Robokassa Robokassa Классы Корзина для заказов Меню/Списки/Навигация Настраиваемые модули Обработчики Плагины Платформа Помощники/Мастеры/Инструкции/Подсказки Способы доставки/самовывоза Способы оплаты

Zion WebEngine X8.05.13
  • Доработан класс для управления контентом:
    • Внедрены некоторые удобства при правке контента
  • Доработано меню администратора для сайта-каталога и интернет-магазина:
    • Способы доставки и оплаты по умолчанию теперь создаются до входа в соответствующие разделы
  • Доработано управление способами оплаты:
    • Реализована возможность подключать и настраивать модули различных платёжных систем
  • Доработан класс для управления вкладками:
    • Добавлены некоторые особые возможности для управления модулями платёжных систем
  • Начат перевод пакета Zion Robokassa на новую платформу:
    • Создан модуль для платёжной системы Robokassa
      • Реализовано задание параметров
      • Реализована инструкция по настройке
      • Реализована автоматическая корректировка структуры базы данных
      • Разработка ещё не завершена

Zion WebEngine Zion Catalog Zion Robokassa Robokassa База данных/Таблицы данных Вкладки Интернет-магазин Классы Контент/Контентные единицы Меню администратора Настраиваемые модули Платформа Помощники/Мастеры/Инструкции/Подсказки Сайт-каталог Способы доставки/самовывоза Способы оплаты

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

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

Zion WebEngine X8.05.10
  • Доработаны плагин универсального меню и класс для управления навигацией (спасибо Moto-Retail18):
    • Реализована возможность выводить пагинацию (список подстраниц) не только после меню/списка (по умолчанию), но и в любом другом месте в меню/списке
    • Доступен множественный вывод пагинации, например, до списка товаров и после него же

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

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

Zion WebEngine Zion Catalog Драйверы Классы Кодировки/Наборы символов Корзина для заказов Куки Меню/Списки/Навигация Меню администратора Плагины Способы доставки/самовывоза Формы

Zion WebEngine X8.05.05
  • Доработаны классы для управления контентом и навигацией:
    • В комплект поставки включены заготовки для реализации сравнения в двух режимах:
      • Отображение всех характеристик и отображение только отличающихся характеристик
    • В комплект поставки включены заготовки для email-сообщений о заказах в интернет-магазине:
      • На e-mail в том числе будет приходить:
        • Список заказанных товаров с ценами, количеством и итоговой суммой
        • Выбранные способы доставки и оплаты
        • Контактные данные клиента
        • Комментарий к заказу
  • Доработан плагин универсального меню:
    • Устранены некоторые недочёты при замене параметров, которые не были чётко заданы при вызове меню
  • Доработан класс для управления корзиной:
    • Доработана форма оформления заказа
  • Доработан класс для управления куки-массивами:
    • Реализовано сохранение всех POST-данных в куки

Zion WebEngine Zion Catalog Email-сообщения POST/GET-данные Интернет-магазин Классы Контент/Контентные единицы Корзина для заказов Куки Меню/Списки/Навигация Плагины Способы доставки/самовывоза Способы оплаты Сравнение Формы

Zion WebEngine X8.05.04
  • Доработан класс для управления контентом:
    • Реализована возможность при сравнении отображать только те характеристики, значения которых отличаются у товаров, участвующих в сравнении:
      • Характеристики с одинаковыми значениями скрываются:
        • Опционально

Zion WebEngine Классы Контент/Контентные единицы Сравнение

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

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

Zion WebEngine X8.04.28
  • Доработан обработчик заказа обратного звонка (спасибо Теплодом):
    • Учтена некорректная обработка некоторых служебных заголовков в Microsoft Office Outlook:
      • Email-сообщения могли помечаться как "нежелательная почта":
        • Пометить письмо как "не спам" было невозможно, так как данный почтовый клиент не распознаёт некоторые стандартные служебные заголовки

Zion Mail Back Email-сообщения Корзина для заказов Обработчики

Zion WebEngine X8.04.27

Zion WebEngine Zion Gallery PHP Галереи/Слайды Классы Контент/Контентные единицы Плагины Связи

Zion WebEngine X8.04.26
  • Доработан главный файл административного интерфейса:
    • Реализовано принудительное отключении XSS-защиты из-за ложных срабатываний в браузерах на движке Chromium
  • Доработана система мониторинга:
    • Расширен список доступных версий PHP:
      • Рекомендуется версия 7.2 и выше
      • Поддержка версии ниже, чем 5.4 не гарантируется
      • Версии ниже, чем 5.5 больше не поддерживаются разработчиками PHP и могут иметь уязвимости. Используйте их на свой страх и риск и только если у вас есть код, который не работает с более новыми версиями
  • Повышена совместимость с PHP 7.2.1
    • Доработан драйвер базы данных для старой платформы (спасибо Бургес)
    • Доработан класс для управления древовидными структурами (спасибо ЦентрСпецЗапчасть и ДиагностикаПромСервис)
    • Выпущено специальное обновление для пакета KCAPTCHA
      • Данный пакет далее развиваться не будет. Обновление выпущено для старых сайтов, которые переходят на новую версию PHP

Zion WebEngine KCAPTCHA Zion Edition Chromium PHP XSS Административный интерфейс База данных/Таблицы данных Веб-браузер Драйверы Классы Мониторинг Обновления CMS Платформа

Zion WebEngine X8.04.25
  • Доработана графическая составляющая Zion Catalog
  • Доработан плагин универсального меню:
    • Теперь прямо в оформлении меню можно использовать значения любых параметров, которые были переданы в плагин:
      • Также доступно использование своих "пользовательских" параметров - тех, которые отсутствуют в спецификации
    • Новый функционал позволяет отображать записи из указанных куки-массивов:
      • Может быть полезно, например, для организации сравнения товаров, для отобраежения "избранного", "закладок", списка "пожеланий" и т.п.
    • В комплект поставки добавлено несколько меню с рабочим примером реализации сравнения товаров:
  • Доработан класс для управления куки-массивами:
    • Реализовано получение списка всех имён в указанном куки-массиве:
      • Может быть полезно, например, для использования в параметре include плагина универсального меню
    • Реализовано получение имени первого элемента указанного куки-массива:
      • Может быть полезно, например, для использования в параметре factor плагина универсального меню при сравнении товаров
  • Доработан класс для управления контентом:
    • В комплекте поставки теперь есть страница с рабочим примером реализации сравнения товаров:

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

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

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

Zion WebEngine X8.04.22
  • Доработан класс для управления элементом контента Число:
    • Устранена вероятность того, что данный элемент мог быть не сохранён в качестве цены
  • В комплект поставки включены некоторые заготовки для более быстрого развёртывания интернет-магазина:
    • Доработаны классы для управления шаблонами, контентом, HTML-кодом веб-страниц
      • Внедрена реализация последних нововведений
    • Доработан класс для управления навигацией:
      • Устранена вероятность несовместимости некоторых компонентов навигации между друг другом
    • Доработан плагин универсального меню:
      • Расширен список условий для более тонкой настройки пунктов меню и элементов контента

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