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

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 25.12.08
  • Доработаны классы для управления заказами и способами оплаты, а также монитор очистки при обновлении CMS и монитор функциональности библиотеки cURL:
    • Упразднена поддержка устаревшей платёжной системы Киви/Qiwi

Zion WebEngine Zion Catalog Zion xPayment PHP Классы Корзина для заказов Мониторинг Обновления CMS Способы оплаты

Zion WebEngine 25.11.19
  • Доработан класс для управления пользователями (спасибо Киокушин Online):
    • Более продуманно организован поиск пользователей в административном интерфейсе

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

Zion WebEngine 25.11.12
  • Доработан вспомогательный класс для работы с изображениями (спасибо Умный домофон):
    • Теперь более корректно работает создание эскизов
  • Доработаны элемент SEO-параметры, класс для управления человекопонятным URL:
    • Оптимизировано использование оперативной памяти

Zion WebEngine SEO-параметры Адрес (URL)/ЧПУ/Переадресация Изображение Классы Элементы Эскизы Элемент "SEO-параметры"

Zion WebEngine 25.11.11

Zion WebEngine Технические требования PHP Мониторинг

Zion WebEngine 25.11.05
  • Доработан настраиваемый модель онлайн-оплаты через ЮКассу (спасибо Спортивно-досуговый центр "Легион"):
    • Учтены требования к данным плательщика, необходимым для формирования чеков в онлайн-кассе

Zion xPayment Настраиваемые модули Онлайн-касса Способы оплаты

Zion WebEngine 25.10.30
  • Доработан класс для упарвления экспортом в YML (спасибо Феникс):
    • Улушена обработка спецсимволов, недопустимых для использования в Сообществах VK
  • Доработан класс для управления скидками:
    • Устранены некоторые проблемы при формировании цен с учётом скидок
  • Доработан класс для управления человекопонятным URL:
    • Оптимизировано использование оперативной памяти
  • Доработан настраиваемый модель онлайн-оплаты через ЮКассу (спасибо Спортивно-досуговый центр "Легион"):
    • Дополнена инструкция по настройке
    • Завершено внедрение функционала онлайн-кассы от ЮКассы

Zion WebEngine Zion Catalog Zion xPayment Zion Export XML/RSS/1С/YML Адрес (URL)/ЧПУ/Переадресация Импорт/Экспорт Классы Кодировки/Наборы символов Настраиваемые модули Онлайн-касса Помощники/Мастеры/Инструкции/Подсказки Скидки/Наценки Способы оплаты

Zion WebEngine 25.10.29
  • Доработан настраиваемый модель онлайн-оплаты через ЮКассу (спасибо Спортивно-досуговый центр "Легион"):
    • Дополнена инструкция по настройке
    • Начато внедрение функционала онлайн-кассы от ЮКассы
  • Доработаны классы для управления доставкой, корзиной для заказов, куками:
    • Оптимизировано использование оперативной памяти

Zion WebEngine Zion Catalog Zion xPayment POST/GET-данные Классы Корзина для заказов Куки Настраиваемые модули Онлайн-касса Помощники/Мастеры/Инструкции/Подсказки Способы доставки/самовывоза Способы оплаты Что такое Классы?

Zion WebEngine 25.10.28
  • Доработан настраиваемый модель онлайн-оплаты через ЮКассу (спасибо Спортивно-досуговый центр "Легион"):
    • Дополнена инструкция по настройке
    • Расширен функционал
    • Реализовано сохранение отладочной информации в случаях, когда оплата заканчивается неудачей

Zion xPayment Настраиваемые модули Помощники/Мастеры/Инструкции/Подсказки Способы оплаты

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

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

Zion WebEngine 25.10.14

Zion WebEngine Связи Элементы Что такое Элементы?

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

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

Zion WebEngine 25.10.09

Zion WebEngine Гостевой интерфейс

Zion WebEngine 25.10.08
  • Доработаны класс для управления человеко-понятным URL, а также главные файлы гостевого и административного интерфейса (спасибо Спортивно-досуговый центр "Легион"):
    • Оптимизировано использование оперативной памяти

Zion WebEngine Что такое Административный интерфейс и Гостевой интерфейс? Административный интерфейс Адрес (URL)/ЧПУ/Переадресация Гостевой интерфейс Классы

Zion WebEngine 25.10.07

Zion WebEngine Адрес (URL)/ЧПУ/Переадресация Классы Элемент "Адрес"

Zion WebEngine 25.10.02
  • Доработан класс для управления пользователями (спасибо Спортивно-досуговый центр "Легион"):
    • Устранена проблема с выходом из личных кабинетов, из-за которой система не сразу "забывала" про пользователя

Zion WebEngine Доступы/Пользователи Классы Что такое Классы?

Zion WebEngine 25.09.11
  • Доработан класс для управления человеко-понятным URL (спасибо Киокушин Online):
    • Устранены некоторые проблемы с объявлением переменных

Zion WebEngine Адрес (URL)/ЧПУ/Переадресация Классы Элемент "Адрес"

Zion WebEngine 25.09.03
  • Доработан класс для управления пользователями (спасибо Киокушин Online):
    • Устранена маловероятная проблема, из-за которой пользователю мог быть установлен пустой пароль

Zion WebEngine Доступы/Пользователи Классы Что такое Классы?

Zion WebEngine 25.09.02
  • Доработан класс для управления пользователями (спасибо Киокушин Online):
    • Устранена проблема, из-за которой при правке пользователя в административном интерфейсе могли сохраниться не все поля
  • Доработан класс для управления контентом:
    • Устранены некоторые проблемы с объявлением переменных

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

Zion WebEngine 25.08.21
  • Доработан драйвер оболочки (спасибо Киокушин Online):
    • Устранены некоторые проблемы с объявлением переменных

Zion WebEngine Драйверы

Zion WebEngine 25.08.20
  • Доработан элемент Связи (спасибо Киокушин Online):
    • Появилось больше встроенных возможностей по управлению связями между контентными единицами
  • Доработаны CSS-стили для административного интерфейса:
    • Меню администратора стало ещё более вместительным

Zion WebEngine Административный интерфейс Контент/Контентные единицы Меню администратора Связи Элементы Что такое Элементы?

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

Что такое Меню администратора?

Общая информация о Меню администратора: что это, где его найти и как им пользоваться?

Zion WebEngine Zion User Control 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 User Control Zion Catalog Zion Pub Hub Адрес (URL)/ЧПУ/Переадресация Кэш/Кеш Меню/Списки/Навигация Помощники/Мастеры/Инструкции/Подсказки Фильтрация Шаблоны контента

Как настроить сайт?

Zion WebEngine 25 - CMS без абонентской платы

Что такое Комплект поставки?

Общая информация о Комплекте поставки: что это, где его посмотреть и как можно расширить?

Настраиваемые модули

Что такое Вкладки?

Общая информация о Вкладках: что это, для чего они нужны, и как их использовать

Zion WebEngine Zion Catalog Zion Gallery Zion Pub Hub Вкладки

Что такое Шаблон контента?

Общая информация о Шаблонах контента: что это, для чего они нужны, и как их использовать

Zion WebEngine Шаблоны контента

Как подтвердить права на сайт в поисковой системе?

Как подтвердить права на сайт в Яндекс.Вебмастере, Google Search Console, Кабинете вебмастера Mail.Ru, Bing - Webmaster Tools и других аналогичных сервисах

SEO-параметры

Как импортировать данные о пользователях из XML

Как загрузить данные о пользователях, например, о клиентах на сайт из 1С и аналогичных внешних систем через формат XML

Zion User Control Zion Import XML/RSS/1С/YML Импорт/Экспорт Меню администратора