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

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.07.11
  • Доработаны класс для управления SMS-шлюзом и настраиваемый модуль реакции на заказ для отправки уведомления на системный e-mail (спасибо Смарт Мастер):
    • Теперь в уведомлениях о новом заказе в интернет-магазине ссылки на кириллические домены отображаются более корректно

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

Zion WebEngine 22.07.07
  • Доработан класс для управления SMS-шлюзом (спасибо Moto-Retail18):
    • Отменены изменения, реализованные в предудущем обновлении из-за проблем, выявленных при боевых испытаниях
  • Доработано несколько классов:
    • Теперь доступно указание кавычек в запросе при поиске в административном интерфейсе

Zion WebEngine Zion UserControl Zion Catalog Zion xDelivery Zion Gallery Zion Banners Manager Что такое Административный интерфейс и Гостевой интерфейс? SMS Административный интерфейс Классы Обновления CMS Поиск текста

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

Zion WebEngine Email-сообщения SMS Классы Уведомления Что такое Классы?

Zion WebEngine 22.06.29
  • Доработан класс для управления пользователями (спасибо КСБ Рус):
    • Оптимизировано использование памяти при импорте данных о пользователях через формат XML, например из 1С или из другой внешней системы

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

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

Zion Export Кодировки/Наборы символов Настраиваемые модули Онлайн-касса Реакции на заказ

Zion WebEngine 22.06.23
  • Доработан класс для работы с файлами и папками (спасибо Хронос Медиа):
    • Внесены корректировки в инструмент Размеры файлов и папок:
      • В результатах теперь отображаются только 5000 (или менее) самых больших файлов
        • Суммарный объём всех файлов учитывает все файлы, а не только первые 5000
      • Устранена ошибка с невозможностью переноса в корзину из-за совпадения имён файлов
      • Устранено некорректное отображение нижних строк таблицы со списком анализируемых файлов
  • Доработан настраиваемый модуль реакции на заказ для создания чека в онлайн-кассе (спасибо КСБ Рус):
    • Внесены корректировки в инструкцию по интеграции

Zion WebEngine Zion Export Классы Корзина для мусора Настраиваемые модули Онлайн-касса Помощники/Мастеры/Инструкции/Подсказки Реакции на заказ Файлы/Папки

Zion WebEngine 22.06.22
  • Доработан класс для работы с файлами и папками (спасибо Good Авто):
    • Внесены корректировки в инструмент Размеры файлов и папок:
      • В результатах теперь отображаются только 10000 (или менее) самых больших файлов
        • Суммарный объём всех файлов учитывает все файлы, а не только первые 10000
      • После вывода результатов производится автоматический анализ, по результатам которого неиспользуемые файлы автоматически переносятся в корзину для последующего автоматического удаления
        • После заввершения анализа файлов из списка запускается автоматическая (частичная или полная) очистка корзины
      • Внесены коррективы в автоматическую прокрутку до анализируемого файла
  • Доработан класс для управления корзиной для мусора:
    • Реализована возможность запуска форсированной очистки корзины - без учёта расписания

Zion WebEngine Классы Корзина для мусора Файлы/Папки Что такое Классы?

Zion WebEngine 22.06.21
  • Доработан вспомогательный класс для управления вкладками (спасибо КСБ Рус):
    • Изменены условия, при которых во время просмотра информации о пользователе в административном интерфейсе будут отображены вкладки Абонентская плата и История баланса:
      • Ранее требовалось, чтобы в настройках группы пользователей обязательно были заполнены оба поля - Как часто списывать абонентскую плату и Размер абонентской платы
      • Теперь достаточно заполнения одного из этих полей или заполнения поля Название товара/услуги на вкладке Абонентская плата в настройках группы пользователей

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

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

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

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

Zion WebEngine Классы Контент/Контентные единицы Шаблоны контента Как редактировать Контент?

Zion WebEngine 22.06.10
  • Доработан класс для управления пользователями (спасибо КСБ Рус):
    • Завершено внедрение функционала, необходимого для импорта данных о пользователях через формат XML, например из 1С или из другой внешней системы
  • Доработан класс для управления импортом данных о товарах и категориях через формат XML, например из 1С или из другой внешней системы:
    • Устранены опечатки в отчёте о результатах импорта
  • Доработаны некоторые настраиваемые модули реакций на заказы
    • При экспорте данных в XML (например для 1С или для другой внешней системы) и при отправке email-уведомления учтено, что в заказе может содержаться информация о пополнении баланса
  • Доработан элемент Изображение (спасибо Федерация Киокушин России):
    • Начато внедрение функционала для управления изображением по умолчанию:
      • Доступно только при наличии в комплекте поставки хотя бы одного из пакетов - Zion Pub Hub или Zion Catalog, Zion Gallery
      • Разработка ещё не завершена

Zion WebEngine Zion Catalog Zion Import Zion Export Email-сообщения XML/RSS/1С/YML Баланс пользователя/Абонентская плата Доступы/Пользователи Изображение Импорт/Экспорт Классы Настраиваемые модули Реакции на заказ Сайт-каталог Элементы Как экспортировать данные о заказах в XML

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

Zion xDelivery Zion Server Что такое CMS Zion WebEngine? Веб-сервер/Хостинг Классы Настраиваемые модули Обновления CMS Реакции на заказ Способы доставки/самовывоза Уведомления

Zion WebEngine 22.06.08
  • Доработан класс для управления пользователями (спасибо КСБ Рус):
    • Начато внедрение функционала, необходимого для импорта данных о пользователях через формат XML, например из 1С или из другой внешней системы:
      • Доступно при наличии в комплекта поставки Zion Import и Zion User Control
      • Разработка не звершена
  • Доработаны административные CSS-определения:
    • Улучшена поддержка последней версии шрифта Font Awesome
  • Доработано меню администратора для пакета Zion Import:
    • Переименованы некоторые старые и добавлены новые разделы меню

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

Zion WebEngine 22.06.03
  • Доработано несколько классов, а также административные JS-скрипты и CSS-определения:
    • Теперь в административном интерфейсе доступен выбор таблицы данных, по которой нужно осуществить поиск:
      • Ранее живой поиск был возможен только по таблице данных, соответствующей выбранному в данный момент разделу CMS. Если для того или иного раздела такая таблица была не определена, то поиск производился по таблице данных контента
    • Теперь, по мимо прочего, поиск доступен по таблицам данных контактов для обратной связи, точек доставки/самовывоза, транспортных компаний

Zion WebEngine Zion UserControl Zion Catalog Zion xDelivery Zion Gallery Zion Banners Manager Что такое CMS Zion WebEngine? Административный интерфейс База данных/Таблицы данных Классы Контент/Контентные единицы Обратная связь/Обратный звонок Поиск текста Способы доставки/самовывоза

Zion WebEngine 22.06.02
  • Доработан настраиваемый модуль для SMS-уведомлений через SMS-Центр (спасибо Moto-Retail18):
    • После "боевых" испытаний, связанных с предыдущим обновлением, внесены коррективы в инструкцию по настройке SMS-уведомлений

Zion WebEngine SMS Настраиваемые модули Обновления CMS Помощники/Мастеры/Инструкции/Подсказки Реакции на заказ Уведомления

Zion WebEngine 22.06.01
  • Доработан настраиваемый модуль для SMS-уведомлений через SMS-Центр (спасибо Moto-Retail18):
    • В инструкцию внесены дополнения, поясняющие, как можно очень сильно сэкономить на регистрации платных имён у мобильных операторов, т.к. сама регистрация платных имён не является обязательной

Zion WebEngine SMS Настраиваемые модули Помощники/Мастеры/Инструкции/Подсказки Реакции на заказ Уведомления

Zion WebEngine 22.05.30
  • Доработан класс для управления базой данных (спасибо КСБ Рус):
    • Теперь в списке шаблонов в административном интерфейсе стало проще просмотреть тот или иной шаблон:
      • Если есть хотя бы одна контентная единица, для которой выбран соответствующий шаблон, в нём есть элементы HTML-код веб-страницы и Адрес, а для элемента Адрес выбран вариант, отличающийся от скрытая контентная единица (без адреса), то при нажатии на кнопку Просмотреть, можно будет узнать, как выглядят веб-страницы с данным шаблоном
  • Доработаны настраиваемые модули для онлайн-оплаты через интернет-эквайринг от Сбербанка и для экспорта данных о заказе в XML, а также для отправки данных в онлайн-кассу Атол Онлайн:
    • Учтены некоторые недочёты в инструкциях
  • Доработан класс управления импортом из XML/1C:
    • Теперь при открытии соответствующего пункта в разделе Инструменты меню администратора, кнопка Помощь на панели инструментов будет вести на инструкцию Как импортировать данные из XML на Портале поддержки

Zion WebEngine Zion Import Zion xPayment Zion Export HTML-код веб-страницы XML/RSS/1С/YML Административный интерфейс Адрес (URL)/ЧПУ/Переадресация База данных/Таблицы данных Импорт/Экспорт Классы Контент/Контентные единицы Меню администратора Настраиваемые модули Онлайн-касса Панель инструментов Помощники/Мастеры/Инструкции/Подсказки Реакции на заказ Способы оплаты Шаблоны контента Элементы Как экспортировать данные о заказах в XML

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

Zion WebEngine Доступы/Пользователи Классы Страницы ошибок

Zion WebEngine 22.05.26
  • Доработан класс для работы с файлами и папками (спасибо Good Авто):
    • Внесены корректировки в инструмент Размеры файлов и папок:
      • В результатах теперь отображаются только 1000 (или менее) самых больших файлов
        • Суммарный объём всех файлов учитывает все файлы, а не только первые 1000
      • После вывода результатов производится автоматический анализ на то, используется ли где-то тот или иной файл, чтобы можно было принять решение об удалении или уменьшении размера файла

Zion WebEngine Классы Файлы/Папки Что такое Классы?

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

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-параметры