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

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.02.25
  • Доработан плагин для управления AJAX (спасибо #ПроСбычиМечт)
    • Динамическая подгрузка данных стала более настраиваемой и "гладкой"

Zion WebEngine AJAX Плагины

Zion WebEngine X8.02.21
  • Доработан класс для работы с языками:
    • Добавлена возможность использовать многоязычность не только для всего сайта сразу, но и для его отдельных частей
  • Доработан форма и обработчик обратной связи (спасибо Анвизор):
    • Устранены проблемы с использованием многоязычности

Zion Mail Back Zion Multi-Lang Классы Многоязычность/Языки Обработчики Формы

Zion WebEngine X8.02.19
  • Доработан класс для работы с корзиной заказов (спасибо Moto-Retail):
    • Устранена вероятность возникновения заказов с одинаковым номером в течение одно дня

Zion Catalog Классы Корзина для заказов

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

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

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

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

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

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

Zion WebEngine X8.02.05
  • Доработан конвертер валют (спасибо MKV Pro):
    • Реализовано округление результата до любого количества символов после запятой
    • Доработана подсказа по использованию конвертера
  • Доработан элемент "Основной текст":
    • Максимальное количество символов для него увеличено в 2 раза
  • Улучшена поддержка PHP 7.2 и других, схожих по требованиям, версий:
    • Доработан драйвер для работы с древовидными структурами (спасибо Богатый дом)
    • Доработан класс для управления связями между контентными единицами (спасибо Moto-Retail18)
    • Доработан класс для управления связями с категориями контента
    • Доработан плагин универсального меню
    • Доработан класс для управления местом контентных единиц в структуре сайта
    • Доработан класс для управления уведомлениями
    • Доработано меню администратора для Ядра CMS
    • Доработан главный файл гостевого интерфейса
    • Доработан класс импорта данных

Zion WebEngine Zion Catalog PHP Валюты Гостевой интерфейс Драйверы Импорт/Экспорт Категории Классы Контент/Контентные единицы Меню администратора Место в структуре Основной текст Плагины Помощники/Мастеры/Инструкции/Подсказки Уведомления Элементы

Zion WebEngine X8.02.01
  • Доработан класс для работы с базой данных:
    • Добавлены новые функции, упрощающие получением данных
  • Реализован конвертер валют (спасибо MKVPro):
    • Доступно ежедневное и (если нужно) более частое получение данных курсов валют от ЦБ РФ
    • Реализованы подсказки по использовании конвертации, например, цен из любой доступной валюты в RUR
    • Использование команды для вызова конвертора доступно в любом месте

Zion WebEngine Zion Catalog База данных/Таблицы данных Валюты Классы Помощники/Мастеры/Инструкции/Подсказки

Zion WebEngine X8.01.29
  • Доработан плагин универсального меню (спасибо Анвизор):
    • Теперь поиск не запускается, если задана пустая строка

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

Zion WebEngine X8.01.24
  • Доработана поддержка многоязычности (спасибо Анвизор):
    • Доработан класс для работы с текущими данными:
    • Доработан плагин универсального меню
    • Доработан поиск текста
  • Доработана автоматическая SEO-оптимизация (спасибо VisualMathStart):
    • Устранено дублирование некотрых полей при редактировании SEO-параметров

Zion WebEngine SEO-параметры Классы Меню/Списки/Навигация Многоязычность/Языки Плагины Поиск текста Текущие данные

Zion WebEngine X8.01.22
  • Улучшена поддержка многоязычности (спасибо Анвизор):
    • Переработан комплект поставки
    • Доработана обработка свойств языков
    • Доработаны подсказки по использованию свойств языков

Zion Multi-Lang Многоязычность/Языки Помощники/Мастеры/Инструкции/Подсказки Свойства

Zion WebEngine X8.01.18
  • Доработан класс для работы с многоязычностью:
    • Реализовано отображение контента на выбранном или автоматически определённом языке и скрытие контента на любых других языках (в том числе на отсутствующих в системе)
    • Реализована автоматическая корректировка URL при выборе того или иного языка
      • Адрес корректируется только в том случае, если был выбран язык, который создан в системе
  • Разработка пакета поддержки многоязычности завершена, но может продолжиться после "боевых" испытаний и появления пожеланий
  • Доработан главный файл гостевого интерфейса
    • Оптимизированы различные вычисления
    • Улучшена поддержка многоуровневого ЧПУ
    • Улучшена поддержка многоязычности

Zion WebEngine Zion Multi-Lang Адрес (URL)/ЧПУ/Переадресация Гостевой интерфейс Контент/Контентные единицы Многоязычность/Языки

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

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

Zion WebEngine X8.01.09
  • Доработаны страницы ошибок
  • Доработана инструкция для редактора контента
  • Доработан класс для работы с корзиной заказов в интернет-магазине
  • Доработано создание HTML-кода шаблонов веб-страниц
  • Доработана смена e-mail для системных уведомлений
  • Доработано восстановление пароля зарегистрированных пользователей
  • Доработано создание объявлений
  • Доработана отправка уведомлений из формы обратной связи и из формы заказа обратного звонка
  • Доработана интеграция с RoboKassa
  • Доработана система мониторинга
  • Доработана автоматическая SEO-оптимизация
  • Доработан email-рассыльщик

Zion WebEngine Zion Catalog Zion Mail Back Zion SEO Booster Zion Sender Zion Robokassa Zion Bulletins Board Email-сообщения HTML-код веб-страницы Robokassa Доступы/Пользователи Интернет-магазин Классы Корзина для заказов Мониторинг Объявления Обратная связь/Обратный звонок Помощники/Мастеры/Инструкции/Подсказки Рассылки Редактор контента/WYSIWYG-редактор Страницы ошибок Формы

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

Zion WebEngine Zion Multi-Lang Доступы/Пользователи Классы Кодировки/Наборы символов Многоязычность/Языки Текущие данные

Zion WebEngine X8.01.05
  • Расширен список условий для меню и HTML-кода веб-страниц (спасибо Феникс):
    • В том числе теперь можно использовать разное оформление в зависимости от того, есть ли у указанного раздела подразделы определённого типа

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

Zion WebEngine X7.12.22
  • Устранена вероятность несовместимости новой платформы с мастерами из старой платформы (спасибо Академия Танца)
    • Также исправлена информация об авторских правах для доработанных компонентов
  • Доработано управление ЧПУ (спасибо Звони-Пермь):
    • Учтено отступление сервиса Яндекс.Маркет от общепринятых стандартов формирования списка параметров в GET-запросах
  • Устранены некоторые недочёты в классе для управления SEO-параметрами
  • Устранены недочёты при формировании многоуровневого ЧПУ для страниц, находящихся на верхнем уровне структуры или вне структуры

Zion WebEngine POST/GET-данные SEO-параметры Адрес (URL)/ЧПУ/Переадресация Платформа Помощники/Мастеры/Инструкции/Подсказки

Zion WebEngine X7.12.15
  • Создан новый пакет Zion Multi-Lang для управления многоязычными сайтами
    • Поддерживается свободное редактирование неограниченного количества языков
    • Разработка пакета ещё не завершена
  • Доработана отправка служебных заголовков от веб-сервера в веб-браузер

Zion WebEngine Zion Multi-Lang Веб-браузер Веб-сервер/Хостинг Многоязычность/Языки

Zion WebEngine X7.12.14
  • Доработан драйвер для управления классами
    • Добавлены некоторые функции, которые упростят и ускорят дальнейшей развитие CMS
  • Доработан класс для управления SEO-параметрами
    • Учтены некоторые требования поисковиков - так автоматическая SEO-оптимизация будет ещё более качественной
  • Доработан плагин Meta
    • Теперь он полностью совместим с многоуровневым ЧПУ и автоматически подсказывает поисковым системам канонические адреса веб-страниц, в случае изменения этих адресов
  • Доработан поиск текста
    • Теперь можно выбирать, в каких полях осуществлять поиск, а в каких нет

Zion WebEngine Zion SEO Booster SEO-параметры Адрес (URL)/ЧПУ/Переадресация Драйверы Классы Плагины Поиск текста

Zion WebEngine X7.12.11
  • Доработана поддержка многоуровневого ЧПУ:
    • Вместо драйвера, совместимого со старой платформой создан специальный класс, целиком ориентированный на новую платформу
    • Устранены некоторые недоработки из предыдущей версии
    • Добавлены новые функции в класс для управлением местом в структуре
    • Добавлены новые возможности в класс для управления адресом (URL)
    • В классе для управления базой данных учтена поддержка многоуровневого ЧПУ
    • Доработана переадресация на страницу по умолчанию
    • Доработана подстановка свойств в классе для управления контентом
    • Доработано кэширование веб-страниц в классе управления проектом
    • Доработан класс для управления SEO-параметрами
    • В плагине Meta переработана подстановка канонического URL

Zion WebEngine Zion SEO Booster SEO-параметры Адрес (URL)/ЧПУ/Переадресация База данных/Таблицы данных Драйверы Классы Контент/Контентные единицы Кэш/Кеш Место в структуре Платформа Свойства