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

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.05.18
  • Доработаны элементы Место в структуре и Связи:
    • Устранена проблема из-за которой при просмотре варианта Все записи (всех типов) в элементе Связи не отображались записи тех типов, которые по некоторым причинам должны скрываться в структуре

Zion WebEngine Место в структуре Связи Типы Элементы Элемент "Место в структуре"

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

Zion WebEngine Zion xDelivery Административный интерфейс База данных/Таблицы данных Классы Контент/Контентные единицы Настраиваемые модули Реакции на заказ Способы доставки/самовывоза Уведомления Шаблоны контента Как подтвердить права на сайт в поисковой системе?

Zion WebEngine 22.05.16
  • Доработан класс для управления контентом (спасибо Вагонка Пермь ТК):
    • Устранена ошибка при создании таблицы данных контента
  • Доработана система мониторинга SEO-оптимизации:
    • Теперь некоторые проверки не запускаются при запуске на локальном веб-сервере
    • Теперь некоторые проверки не запускаются, если пока не создана таблица данных для контента

Zion WebEngine Zion SEO Booster Что такое система Мониторинга? SEO-параметры База данных/Таблицы данных Веб-сервер/Хостинг Классы Контент/Контентные единицы Мониторинг

Zion WebEngine 22.05.13
  • Доработан настраиваемый модуль доставки через Почту России (спасибо Moto-Retail18):
    • Скорректирован список статусов, при которых должны осуществляться уведомления и другие реакции на заказы

Zion xDelivery Настраиваемые модули Реакции на заказ Способы доставки/самовывоза Уведомления

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

Zion xDelivery Настраиваемые модули Способы доставки/самовывоза

Zion WebEngine 22.05.10
  • Доработана подсказа по возможностям онлайн-консультанта Jivo (он же JivoSite)

Zion JivoSite Обмен сообщениями/Чат Онлайн-консультант Помощники/Мастеры/Инструкции/Подсказки

Zion WebEngine 22.05.06
  • Доработаны все настраиваемые модули для управления скидками (спасибо Moto-Retail18):
    • Теперь для всех автоматических скидок доступно указание числа знаков после запятой, до которого будет округляться цена товара, если на него распространяется та или иная скидка:
      • По умолчанию (для совместимости со старыми версиями) округление происходит до двух знаков после запятой - до копеек
      • Так как, в разных скидках могут быть заданы разные указания для окруления, поэтому будет применено округление до наибольшего числа знаков после запятой из всех применяемых скидок
  • Доработаны классы для управления проектом, баннерами и баннерными местами (спасибо Федерация Киокушин Пермского края):
    • Теперь живой поиск в административном интерфейсе доступен по таблицам данных баннеров и баннерных мест

Zion WebEngine Zion UserControl Zion Catalog Zion Banners Manager Что такое Административный интерфейс и Гостевой интерфейс? Административный интерфейс База данных/Таблицы данных Баннеры Классы Настраиваемые модули Поиск текста Сайт-каталог Скидки/Наценки

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

Zion Catalog Веб-браузер Веб-сервер/Хостинг Классы Корзина для заказов Что такое Классы?

Zion WebEngine 22.04.29
  • Доработано несколько классов, а также административные JS-скрипты:
    • Теперь живой поиск доступен во всех разделах административного интерфейса:
      • По умолчанию, как и раньше, поиск ведётся по таблице данных контента
    • Теперь при нахождении в некоторых подразделах разделов Справочники, Навигация и Пользователи доступен поиск по соответсвующим таблицам данных:
      • Варианты оформления меню
      • Вкладки:
        • Основная вкладка всегда отсутсвует в результатах поиска
      • Шаблоны
      • Типы:
        • Если для типа выбран шаблон по умолчанию, в результатах поиска отобразится соответсвующая подсказка с возможностью перехода к правке такого шаблона
      • Аккаунты:
        • Помимо имени пользователя и ID в результатах также отображаются:
          • Логин пользователя с возможностью написать на соответствующий e-mail
          • Группа пользователя с возможностью перехода к её правке
      • Группы пользователей
      • Варианты оформдения галерей
      • Способы доставки:
        • Помимо названия и ID способа в результатах также отображаются:
          • Наценка/Скидка
          • Настраиваемый модуль (название модуля и имя класса)
      • Скидки:
        • Помимо названия и ID скидки в результатах также отображается настраиваемый модуль (название модуля и имя класса)
      • Реакции на заказ:
        • Помимо названия и ID реакции в результатах также отображается настраиваемый модуль (название модуля и имя класса)
      • Способы оплаты:
        • Помимо названия и ID способа в результатах также отображаются:
          • Наценка/Скидка
          • Настраиваемый модуль (название модуля и имя класса)
      • Скидочные уровни пользователей:
        • Помимо названия и ID уровня в результатах также отображается сумма, необходимая для достижения уровня

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

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

Zion xDelivery Настраиваемые модули Способы доставки/самовывоза

Zion WebEngine 22.04.26
  • Доработан настраиваемый модуль доставки через Почту России (спасибо Moto-Retail18):
    • Реализовано email-уведомление о смене статуса доставки/самовывоза заказа через Почту России:
      • Теперь о смене статуса доставки/самовывоза смогу уведомлять и другие настраиваемые модули доставки/самовывоза
        • Для этих же целей доработан класс для управления базой данных
    • Уведомления о смене статуса доставки/самовывоза при возврате почтового отправления отключены
    • Разработка завершена, но может продолжиться в ближайших обновлениях CMS
  • Доработан настраиваемый модуль для уведомлений по SMS:
    • Изменены названия некоторых опций
  • Доработан класс для управления доставкой/самовывозом:
    • Дополнен список записей по умолчанию

Zion WebEngine Zion Catalog Zion xDelivery Что такое CMS Zion WebEngine? SMS База данных/Таблицы данных Интернет-магазин Классы Настраиваемые модули Обновления CMS Реакции на заказ Способы доставки/самовывоза Уведомления

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

Zion Catalog Классы Корзина для заказов Кэш/Кеш Скидки/Наценки Что такое Классы?

Zion WebEngine 22.04.22
  • Доработан элемент HTML-код веб-страницы (спасибо Moto-Retail18):
    • Реализована возможность использовать ранее доступное только для плагина универсального меню условие IS_DISCOUNT_EXISTS??истина::ложь, позволяющее использовать разное оформление для товаров, на которые распространяется или не распространяется скидка
  • Доработан класс для управления навигацией:
    • В нём отсутсвовала подсказа по использованию выше описанного условия

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

Zion WebEngine 22.04.21
  • Доработаны все настраиваемые модули для управления скидками (спасибо Moto-Retail18):
    • Устранена маловероятная проблема, при которой одна скидка могла быть применена только к одному товару:
      • К остальным товарам могли быть применены только другие скидки
  • Доработан настраиваемый модуль доставки через Почту России:
    • Реализовано получение и сохранение информации о последней операции над отправлением, в том числе о месте проведения этой операции
    • Реализовано SMS-уведомление о смене статуса доставки заказа через Почту России:
      • Если изменился только адрес, а статус остался прежним, то новое уведомление отправляться не будет
    • Разработка ещё не завершена
  • Доработан класс для управления базой данных:
    • Устранена проблема, из-за которой при смене статуса доставки заказа, некоторые данные о клиенте не могли подгрузиться в полном объёме:
      • Это препятствовало использованию некоторых реакций на смену статуса заказов

Zion WebEngine Zion UserControl Zion Catalog Zion xDelivery SMS База данных/Таблицы данных Настраиваемые модули Реакции на заказ Сайт-каталог Скидки/Наценки Способы доставки/самовывоза Уведомления Что такое Классы?

Zion WebEngine 22.04.20
  • Доработан настраиваемый модуль доставки через Почту России (спасибо Moto-Retail18):
    • Из-за ограничений, наложенных на один из способов связи (пакетный доступ) по API отслеживания отправлений, реализован переход на другой способ связи (единичный доступ)
    • Разработка ещё не завершена

Zion xDelivery Настраиваемые модули Способы доставки/самовывоза

Zion WebEngine 22.04.19
  • Доработа класс для управления базой данных:
    • Теперь к правке шаблона можно перейти прямо из списка контентных единиц в административном интерфейсе

Zion WebEngine Административный интерфейс База данных/Таблицы данных Классы Контент/Контентные единицы Что такое Шаблон контента?

Zion WebEngine 22.04.18
  • Доработан элемент число (спасибо Good Авто):
    • Создан плагин number_OnlyDigits, который из параметра string возвращает только цифры:
      • Это НЕ то же самое, что и приведение к целому числу - это возвращение только цифр
  • Доработаны класс для управления навигацией и плагин универсального меню:
    • Создано новые условия:
      • IS_HAS_VALUE_поле<=значение??истина::ложь - позволяет отображать разный HTML-код, если значение в указанном поле небольше, чем указанное
      • IS_HAS_VALUE_поле>=значение??истина::ложь - позволяет отображать разный HTML-код, если значение в указанном поле неменьше, чем указанное

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

Zion WebEngine 22.04.15
  • Доработан монитор функциональности PHP-библиотеки cURL:
    • Актуализирована подсказка с информацией о том, какие функции будут недоступны при отсутствии поддержки этой библиотеки

Zion WebEngine Технические требования PHP Мониторинг Помощники/Мастеры/Инструкции/Подсказки

Zion WebEngine 22.04.13
  • Доработан настраиваемый модуль доставки через Почту России (спасибо Moto-Retail18):
    • Реализована связь по API отслеживания отправлений и сохранение данных об ошибках или их отсутствии
    • Разработка ещё не завершена

Zion xDelivery Настраиваемые модули Способы доставки/самовывоза

Zion WebEngine 22.04.12
  • Доработан класс для работы с датами:
    • Создан новый плагин date_YearsFrom, который возвращает количество лет, с указанного в параметре Y года

Zion Pub Hub Дата/Время/TimeMashine Классы Плагины Что такое Плагины?

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

Как импортировать данные о пользователях из 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-параметры