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

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 X9.04.23
  • Доработан класс для управления проектом (спасибо МТС Пермь):
    • Из виджета на панели инструментов теперь выход производится не в новом, а в том же окне (в той же вкладке)
  • Доработан класс для управления заказами (спасибо Moto-Retail18):
    • Устранены проблемы с формированием номера нового заказа
  • Доработан класс для управления корзиной:
    • Реализована автоматическая очистка кэша CSS-оформления формы заказа

Zion WebEngine Zion Catalog Доступы/Пользователи Классы Корзина для заказов Кэш/Кеш Панель инструментов

Zion WebEngine X9.04.22
  • Доработан класс для управления SMS-уведомлениями (спасибо Балкон Мастер):
    • Устранены недочёты в инструкции по настройке SMS-шлюза
  • Доработан импорт из CSV/Excel (спасибо МТС Пермь):
    • Учтены некоторые новые возможности различных компонентов, которые должны быть учтены при импорте данных
    • Реализована возможность импортировать данные без идентификаторов (ID):
      • При этом перед началом импорта автоматически удаляются все подразделы указанного надраздела (во избежании дублирования при каждом повторном импорте)
    • Реализована возможность импортировать данные без названий:
      • Названия записей при этом автоматически формируются из названия выбранного надраздела и заполненных полей (удобно, например, для импорта списка адресов)
  • Доработан класс для управления скидками (спасибо Moto-Retail18):
    • Устранена вероятность возникновения ошибки при заказе, если ни одна скидка не доступна

Zion WebEngine Zion Catalog Zion Import CSV/Excel SMS Импорт/Экспорт Классы Корзина для заказов Скидки/Наценки

Zion WebEngine X9.04.19
  • Доработан импорт из CSV/Excel (спасибо МТС Пермь):
    • Учтены некоторые новые возможности различных компонентов, которые должны быть учтены при импорте данных

Zion Import CSV/Excel Импорт/Экспорт

Zion WebEngine X9.04.18
  • В интернет-магазине расширены возможности управления автоматическими скидками (спасибо Белый и пушистый):
    • Доработан класс для управления скидками:
      • Учтена вероятность начисления сразу нескольких скидок
    • Доработаен класс для управления скидкой для зарегистрированных пользователей:
      • Расширены возможности отладки
    • Создан класс для управления скидкой при заказе на определённую сумму:
      • Учитывается полная стоимость всех товаров в корзине до начислении всех скидок
      • Не учитывается стоимость доставки и скидка/наценка за выбранный способ оплаты
    • Доработан класс для управления корзиной заказов:
      • Внесены некоторые коррективы
    • Доработан класс для управления заказами:
      • При включении уведомления о заказах в CMS информация о заказах в административном интерфейсе также будет видна с учётом скидок
  • Доработан импорт из 1С/XML:
    • Учтены некоторые новые возможности различных компонентов, которые должны быть учтены при импорте данных

Zion UserControl Zion Catalog Zion Import Что такое CMS Zion WebEngine? XML/RSS/1С/YML Административный интерфейс Доступы/Пользователи Импорт/Экспорт Интернет-магазин Классы Корзина для заказов Реакции на заказ Скидки/Наценки Способы доставки/самовывоза Способы оплаты

Zion WebEngine X9.04.17
  • В интернет-магазине реализована возможность управления автоматическими скидками (спасибо Белый и пушистый):
    • В разделе Справочники меню администратора появился подраздел Скидки
    • Создан класс для управления скидками:
      • В нём реализовано управление различными способами автоматического предоставления скидок в зависимости от выполнения различных условий
      • Набор доступных скидок зависит от комплекта поставки
      • Реализована возможность временно отключать скидки вместо их удаления
      • Создан модуль для предоставления скидки зарегистрированным пользователям:
        • Доступен при наличии Zion User Control
        • Если пользователь авторизован - скидка доступна. Если не авторизован - скидка недоступна
        • Процент скидки свободно редактируется
    • Доработан вспомогательный класс для управления вкладками:
      • Расширен функционал для упрощения работы со скидками
    • Доработан элемент контента Число:
      • Если элемент является ценой, то при правке контента автоматически отображаются подсказки для использования свойств и плагинов, отображающих соответствующее число с учётом скидки и без её учёта
    • Доработан класс для управления базой данных:
      • Устранены некоторые недочёты при сохранении данных о способах доставки и оплаты, не использующих специальные модули
    • Доработан класс для управления корзиной заказов:
      • Внесены коррективы для учёта автоматических скидок:
        • Они влияют только на стоимость товаров, но не на способы доставки и оплаты
      • Скидки/наценки на выбранные способы доставки и оплаты продолжают действовать:
        • Они влияют на общую стоимость заказа
  • Доработан класс для управления доставкой:
    • Устранён недочёт при котором в форме заказа могла не отображаться стоимость доставки

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

Zion WebEngine X9.04.16
  • Доработан класс для управления вкладками:
    • Устранена невозможность удаления вкладки при её правке

Zion WebEngine Вкладки Классы

Zion WebEngine X9.04.09
  • Начато внедрение возможности использования упрощённого варианта административного интерфейса, при котором будут скрываются различные подсказки и инструменты, необходимые только продвинутым пользователям, но не всем остальным:
    • Доработаны вспомогательные классы для управления элементами
    • Доработаны административные CSS-определения
    • Доработаны классы для управления элементами "Основной текст" и "Галерея"
    • Доработаны классы для управления контентом, шаблонами, навигацией, защитой от спама, онлайн-консультантом и для работы с мастерами вставки плагинов и свойств
    • Доработаны модули для уведомлений о заказах по SMS и на системный e-mail
    • Доработан импорт данных из XML/1C
    • Элемент "HTML-код веб-страницы" теперь больше не отображается при правке контента. Он доступен (как и раньше) при правке шаблона:
      • Если Вы ранее использовали этот элемент для быстрого перехода из контента в шаблон, то для этого можно использовать кнопку "Перейти к шаблону" на Панели инструментов

Zion WebEngine Zion Catalog Zion Import Zion Gallery Zion JivoSite Email-сообщения HTML-код веб-страницы SMS XML/RSS/1С/YML Административный интерфейс Галереи/Слайды Доступы/Пользователи Импорт/Экспорт Классы Контент/Контентные единицы Меню/Списки/Навигация Настраиваемые модули Онлайн-консультант Основной текст Панель инструментов Плагины Помощники/Мастеры/Инструкции/Подсказки Реакции на заказ Свойства Спам Шаблоны контента Элементы

Zion WebEngine X9.04.05
  • Доработана система мониторинга:
    • В уведомлениях подробнее расписаны угрозы от использования незащищённого протокола HTTP
  • Доработана панель инструментов:
    • Кнопки на ней теперь имеют разный цвет, что позволяет быстрее найти нужную
    • Расположение кнопок теперь упорядочено иначе для более удобной работы
    • Вместо кнопки "К списку" создан виджет с выпадающим списком:
      • Из списка можно перейти к редактированию нужной записи
      • Список записей здесь загружается только в случае необходимости, чтобы не нагружать систему без надобности
      • Список загружается целиком, а не постранично. В нём легко можно найти нужную запись по названию или по ID через сочетание клавишь Ctrl+F
      • Активная запись выделяется на фоне остальных
      • Доступен переход к обычному списку записей для получения большего функционала
    • Улучшена оптимизация под мобильные устройства
    • Теперь панель доступна нетолько для контента, но и шаблонов и типов:
      • Порядок и набор кнопок здесь отличается с учётом специфики этих видов данных
      • Для типов дополнительно реализована кнопка для перехода к списку контентных единиц соответствующего типа
  • Доработан вспомогательный класс для работы с изображениями (спасибо Color House):
    • Устранена проблемы с добавлением отступов при создании эскизов
  • Доработаны классы для управления проектом и пользователями:
    • Реализована автоматическая очистка кэша для аватаров пользователей после их обновления

Zion WebEngine HTTP/HTTPS/SSL-сертификаты Аватар/Логотип Доступы/Пользователи Изображение Классы Контент/Контентные единицы Кэш/Кеш Мониторинг Панель инструментов Типы Шаблоны контента Эскизы Как редактировать Контент?

Zion WebEngine X9.04.04
  • Доработан вспомогательный класс для работы с изображениями (спасибо Good Авто):
    • Устранена вероятность возникновения ошибок при попытке создать эскиз для несуществующего изображения

Zion WebEngine Изображение Классы Эскизы

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

Zion WebEngine Что такое Комплект поставки? Email-сообщения SMTP/PHP-mail База данных/Таблицы данных Классы Мониторинг Панель инструментов Спам

Zion WebEngine X9.03.24
  • Доработан класс для управления базой данных (спасибо GL Technology):
    • Расширен список доступных символов в ID записей
    • Оптимизирована замена недопустимых символов в ID записей

Zion WebEngine База данных/Таблицы данных Классы

Zion WebEngine X9.03.22
  • Доработано меню администратора (спасибо Moto-Retail18):
    • Теперь меню более корректно отображается на экранах настольных ПК с небольшим разрешением
  • Доработана система мониторинга для Zion SEO Booster (спасибо GL Technology):
    • Переработано отображение некоторых уведомлений
  • Доработан плагин для отображения галереи:
    • Устранены недочёты при определении значения в поле, как пустого

Zion WebEngine Zion SEO Booster Zion Gallery SEO-параметры Галереи/Слайды Меню администратора Мониторинг Плагины Уведомления

Zion WebEngine X9.03.12
  • Доработан класс для работы с Google reCAPTCHA:
    • Создана более понятная инструкция для настройки защиты от спама в том числе из форм обратной связи
  • Внедрена полная поддержка PHP 7.3
  • Доработана система мониторинга для Ядра:
    • Актуализирована информация о минимальных и рекомендуемых технических требованиях

Zion WebEngine Технические требования PHP Классы Мониторинг Обратная связь/Обратный звонок Помощники/Мастеры/Инструкции/Подсказки Спам Формы

Zion WebEngine X9.03.01
  • Доработан класс для управления проектом:
    • Реализованы некоторые оптимизации для использования кэширования веб-страниц

Zion WebEngine Классы Кэш/Кеш

Zion WebEngine X9.02.26
  • Часть системы мониторинга перенесена из пакета Zion Catalog в пакет Zion WebEngine
  • Доработан плагин формы обратной связи:
    • Устранены проблемы с кодировкой темы email-сообщения при использовании многоязычности
  • Создан класс для работы с SMS-шлюзом (спасибо Новый стандарт):
    • С его помощью можно отправлять SMS-сообщения с сайта (доступно при наличии в комплекте поставки Zion Catalog или Zion Mail Back)
  • Доработано меню администратора:
    • В разделе Опции добавлен раздел для управления SMS-шлюзом:
      • Кроме данных авторизации также можно задать следующие параметры:
        • Имя отправителя
        • Номера телефонов получателей SMS-сообщений
        • Отправлять ли SMS-сообщения вместо email-сообщений при заказе обратного звонка
        • Отправлять ли SMS-сообщения о том, что кто-то написал в форму обратной связи
      • Также доступно отображение актуальной информации о балансе лицевого счёта
    • В разделе Справочники \ Способы уведомления о заказах добавлен новый способ - По SMS:
      • Соответствующий модуль использует параметры SMS-шлюза
      • Дополнительно (опционально) о новом заказе можно уведомлять не только администратора сайта, но и клиента, сделавшего заказ
  • Доработаны обработчики для форм обратной связи и заказа звонка
  • Создана система мониторинга для SMS-шлюза
  • Устранены недочёты в поставке предыдущей версии для пакета Zion Catalog:
    • Отсутствовали некоторые нужные классы и присутствовали некоторы более ненужные
  • Доработан класс для управления заказами:
    • Доработаны записи по умолчанию

Zion WebEngine Zion Catalog Zion Mail Back Email-сообщения SMS Классы Кодировки/Наборы символов Корзина для заказов Меню администратора Многоязычность/Языки Мониторинг Настраиваемые модули Обработчики Обратная связь/Обратный звонок Плагины Реакции на заказ Формы

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

Zion WebEngine База данных/Таблицы данных Классы Контент/Контентные единицы Связи

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

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

Zion WebEngine X9.02.07
  • Доработаны классы для управления контентом и базой данных, а также вспомогательный класс для управления вкладками и административные стили и скрипты:
    • Стал доступен переход по вкладкам с панели инструментов при правке контента:
      • Удобно, когда содержимое вкладок довольно большое - это избавляет от необходимости прокручивать страницу до её начала
      • Также это удобно при управлении сайтом с небольшого мобильного устройства

Zion WebEngine База данных/Таблицы данных Вкладки Классы Контент/Контентные единицы Панель инструментов

Zion WebEngine X9.02.05
  • Оптимизирован дистрибутив пакета Zion SEO Booster (спасибо Золото-Пермь)
  • Доработан вспомогательный класс для управления вкладками:
    • Устранены некоторые недочёты при работе с вкладками
  • Доработан класс для управления проектом:
    • Учтено наличие в комплекте поставки нестандартных пакетов
  • Доработан обработчик для формы обратной связи:
    • Устранены некоторые недочёты

Zion WebEngine Zion Mail Back Zion SEO Booster Что такое Комплект поставки? SEO-параметры Вкладки Классы Обработчики Обратная связь/Обратный звонок Формы

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

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