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

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.09.19
  • Доработаны класс и плагин для работы с навигацией (спасибо iRobot Пермь):
    • Помимо свойства menu_item_number, подставляющего порядковый номер пункта списка/меню, начиная с 1, теперь можно использовать свойство menu_item_number0 для подстановки порядкового номера пункта, начиная с 0
    • Также добавлены соответствующие условия и подсказки для них:
      • Аналогичные доработки для условий реализованы в классе и плагине для работы с галереями

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

Zion WebEngine X9.09.18
  • Доработаны класс и плагин для работы с галереями (спасибо iRobot Пермь):
    • Помимо свойства {gallery_item_number}, подставляющего порядковый номер слайда, начиная с 1, теперь можно использовать свойство {gallery_item_number0} для подстановки порядкового номера слайда, начиная с 0:
      • Это может быть полезно при работе с некоторыми слайдерами
    • Устранены некоторые недочёты и повышена производительность

Zion Gallery Галереи/Слайды Классы Плагины Свойства

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

Zion WebEngine Zion Catalog Классы Корзина для заказов Меню/Списки/Навигация

Zion WebEngine X9.09.12
  • Доработан настраиваемый модуль для управления уведомлениями о заказах на системный e-mail (спасибо Moto-Retail18):
    • Устранены недочёты в тексте сообщения и в служебных заголовках

Zion Catalog Email-сообщения Настраиваемые модули Реакции на заказ

Zion WebEngine X9.09.11
  • Доработан настраиваемый модуль для управления уведомлениями о заказах в административный интерфейс (спасибо Moto-Retail18):
    • Изменена формулировка некоторых подсказок

Zion Catalog Административный интерфейс Настраиваемые модули Помощники/Мастеры/Инструкции/Подсказки Реакции на заказ

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

Zion WebEngine Zion Mail Back Zion Export XML/RSS/1С/YML Административный интерфейс Вкладки Импорт/Экспорт Классы Меню/Списки/Навигация Настраиваемые модули Обратная связь/Обратный звонок Помощники/Мастеры/Инструкции/Подсказки Реакции на заказ Формы

Zion WebEngine X9.09.02
  • Доработаны классы для управления корзиной и заказами, а также для управления уведомлениями о заказах на системный e-mail и через экспорт в XML/1C (спасибо Белый и Пушистый):
    • Добавлена опциональная возможность указывать ИНН в форме заказа в интернет-магазине

Zion Catalog Zion Export Email-сообщения XML/RSS/1С/YML Импорт/Экспорт Интернет-магазин Классы Корзина для заказов Настраиваемые модули Реакции на заказ Формы

Zion WebEngine X9.08.26
  • Доработан класс для управления онлайн-консультантом:
    • Устранены некоторые недочёты при сохранении параметров
  • Доработаны класс и система мониторинг для reCAPTCHA:
    • Оптимизирована работа с защитой от спама
    • Реализована возможность отображать любое количество reCAPTCHA на одной странице
  • Доработано отключение защиты от XSS (спасибо Федерация Киокусинкай Пермского края):
    • Теперь оно происходит только, если достоверно известно, что в административный интерфейс вошёл тот, у кого к нему должен быть доступ
  • Доработаны некоторые классы и плагины:
    • Повышена производительность при выполнении команд вызова плагинов
    • Повышена производительность при обработке условий
  • Доработан драйвер оболочки:
    • Изменён подход к выполнению команд вызова плагинов:
      • Применена более производительная альтернатива
      • Доступны положительные побочные эффекты, которые будут применены в ближайших обновлениях
  • Доработаны формы и обработчики обратной связи и заказа звонка:
    • Google reCAPTCHA теперь защищает от спама и в случае заказа обратного звонка
    • Доработана адаптивность форм
    • Учтены недочёты при отображении элементов, необходимых для соблюдения ФЗ-152

Zion WebEngine Zion Mail Back Zion Gallery Zion JivoSite Zion Bulletins Board XSS Административный интерфейс Доступ Групп пользователей Драйверы Классы Мониторинг Обновления CMS Обработчики Обратная связь/Обратный звонок Онлайн-консультант Плагины Спам Условия ФЗ-152 Формы

Zion WebEngine X9.08.23
  • Доработан класс для экспорта данных о заказах в FrontPad: (спасибо Якудза)
    • Реализована возможность отображать информацию для отладки связи с FrontPad при просмотре заказа в административном интерфейсе
    • Для этих же целей доработаны классы для управления заказами и вкладками:
      • Различные классы теперь также могут добавлять дополнительные вкладки при просмотре заказов

Zion WebEngine Zion Catalog Zion Export Что такое Административный интерфейс и Гостевой интерфейс? Вкладки Импорт/Экспорт Классы Корзина для заказов Настраиваемые модули Реакции на заказ

Zion WebEngine X9.08.22
  • Доработан класс для экспорта данных о заказах в FrontPad: (спасибо Якудза)
    • Расширен набор возможностей по настройке модуля
      • В том числе реализована возможность выбирать способы оплаты, при которых данные о заказе нужно отправлять только после получения оплаты
    • Проведены "боевые" испытания
    • Разработка завершена, но развитие продолжится в новых версиях

Zion Export Импорт/Экспорт Классы Настраиваемые модули Реакции на заказ Способы оплаты

Zion WebEngine X9.08.21
  • Доработан класс для управления языками (спасибо Анвизор):
    • Улучшена SEO-оптимизация для многоязычных сайтов
  • Доработаны классы для управления корзиной и заказами (спасибо Якудза):
    • Устранена уязвимость, при которой покупатель в интернет-магазине мог оформить заказ и перейти к онлайн-оплате, но при этом по какой-то причине возвращался на сайт (по своей воле). После этого он мог сменить способ оплаты, способ доставки, товары в заказе и контактные данные. Не все данные при этом обновлялись там, где это было необходимо:
      • В связи с этим также были доработаны настраиваемые модули уведомления о заказах на системный email и по SMS
  • Создан класс для экспорта данных о заказах в FrontPad (CRM-система, оптимизированная для доставки пищи):
    • Разработка пока не завершена

Zion WebEngine Zion Catalog Zion Export Zion Multi-Lang Email-сообщения SEO-параметры SMS Импорт/Экспорт Интернет-магазин Классы Корзина для заказов Многоязычность/Языки Настраиваемые модули Реакции на заказ Способы доставки/самовывоза Способы оплаты

Zion WebEngine X9.08.20
  • Доработан плагин формы обратной связи (спасибо Анвизор):
    • Устранены некоторые недочёты при работе со списком контактов

Zion Mail Back Обратная связь/Обратный звонок Плагины Формы

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

Zion WebEngine Zion Catalog Zion Export Что такое CMS Zion WebEngine? Email-сообщения XML/RSS/1С/YML Административный интерфейс Импорт/Экспорт Классы Корзина для заказов Место в структуре Настраиваемые модули Реакции на заказ Скидки/Наценки Формы

Zion WebEngine X9.08.16
  • Доработаны классы для управления корзиной и заказами (спасибо Якудза):
    • Расширен набор полей в форме заказа в интернет-магазине:
      • Добавлены подъезд и этаж, а также количество персон:
        • Новые поля будут полезны, например, доставщикам пищи:
          • Количество персон в форме заказа можно скрыть
    • Реализована возможность скрывать в форме заказа в интернет-магазине поля для указания индекса и региона:
      • Это может быть полезно в тех случаях, когда Ваша доставка работает только на один город:
        • Для этих же целей и для совместимости с некоторыми модулями доступно указание индекса, региона и города по умолчанию
    • Реализована возможность переименовывать поле "Ф.И.О." в форме заказа в интернет-магазине:
      • Например, можно назвать это поле "Ваше имя", "Контактное лицо" или использовать любое другое обращение к клиенту
    • Управление галочкой "Перезвонить" теперь работает не через указание параметра при вызове плагина basket_Order, а при настройке способа уведомления о заказах с модулем В CMS:
      • Остальными выше перечисленными опциями можно управлять там же
      • Здесь же добавлены подсказки о том, на что влияет та или иная опция
  • Доработаны модули уведомлениями о заказах через системный email и через экспорт в 1C/XML:
    • Расширен набор поддерживаемых полей в информации о заказах
  • Доработан класс для управлениям пользователями:
    • Расширен набор полей в контактной информации о пользователе
  • Доработано CSS-оформление для формы заказа в интернет-магазине по умолчанию:
    • Реализована поддержка новых полей

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

Zion WebEngine X9.08.14
  • Доработан плагин универсального меню (спасибо Savory):
    • Расширены возможности при использовании параметра filter:
      • Доступны следующие функции сравнения:
        • equal - равно:
          • Было реализовано в предыдущей версии. Сейчас улучшено
        • !equal - неравно - больше или меньше
        • more - больше
        • less - меньше
        • !more - небольше, меньше или равно
        • !less - неменьше, больше или равно
        • between - между - больше, чем одно значение, и меньше, чем другое значение
        • range - диапазон - равно или больше, чем одно значение, и равно или меньше, чем другое значение
  • Доработан мастер вызова плагина универсального меню:
    • Учтены последние изменения в плагине

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

Zion WebEngine X9.08.13
  • Доработан плагин универсального меню (спасибо Savory):
    • Параметр include теперь может передаваться из GET-данных:
      • При этом GET-параметр menu должен быть равен параметру id, который используется при запуске плагина
      • GET-параметр используется только, если include явно не указан при запуске плагина
    • Параметр select теперь может передаваться из GET-данных:
      • При этом GET-параметр menu должен быть равен параметру id, который используется при запуске плагина
      • GET-параметр имеет больший приоритет по сравнению с select, явно указанным при запуске плагина
    • Добавлен новый параметр filter, который в значении равном on позволяет фильтровать записи в меню и списках, проверяя какие-либо их поля на равенство с теми или иными значениями:
      • Доступна одновременная фильтрация сразу по нескольким полям
  • Доработан мастер вызова плагина универсального меню:
    • Учтены последние изменения в плагине

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

Zion WebEngine X9.08.11
  • Доработан элемент "Место в структуре" (спасибо МТС РФ):
    • Редактор места в структуре стал более удобным:
      • Всё дерево разделов не загружается при правке контента:
        • Вместо этого загружается путь со списком надразделов:
          • При необходимости можно открыть, как полное дерево разделов (как раньше), так и только его необходимую часть (дерево, начиная с необходимого надраздела)
          • Реализована возможность быстро перейти к правке любого надраздела
      • Снижение нагрузки на веб-сервер и прирост в скорости загрузки редактора веб-страниц будет особенно сильно ощущаться на очень крупных сайтах с развитой древовидной структурой
  • Доработан элемент "Связи":
    • Список имеющихся связей не загружается при правке контента:
      • Вместо этого отображается количество имеющихся связей:
        • При необходимости можно (как раньше) загрузить список связей и изменить его
    • Снижение нагрузки на веб-сервер и прирост в скорости загрузки редактора веб-страниц будет особенно сильно ощущаться на очень крупных сайтах с большим количеством связей
  • Доработаны некоторые административные CSS- и JS-файлы:
    • Добавлены некоторые элементы для реализации поддержки нового функционала
  • Доработан элемент "Адрес":
    • При выборе записей для переадресации теперь не отображаются скрытые записи и записи, в шаблонах которых нет элемента "Адрес":
      • Снижение нагрузки на веб-сервер и прирост в скорости загрузки редактора веб-страниц будет особенно сильно ощущаться на очень крупных сайтах с большим количеством записей без собственного адреса

Zion WebEngine Адрес (URL)/ЧПУ/Переадресация Веб-сервер/Хостинг Классы Контент/Контентные единицы Место в структуре Связи Элементы Элемент "Адрес"

Zion WebEngine X9.08.06
  • Доработана конфигурация редактора контента (спасибо Гид по Тоскане):
    • Теперь по умолчанию используется русский язык для предотвращения ошибок в случае отсутствия необходимых компонентов на других языках
  • Класс для миграции теперь полностью совместим с Zion WebEngine X6.03.14

Zion WebEngine Zion WebEngine X6.03.14 Классы Миграция Многоязычность/Языки Редактор контента/WYSIWYG-редактор

Zion WebEngine X9.07.30
  • Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Якудза):
    • Улучшена миграция меню и списков

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

Zion WebEngine X9.07.29
  • Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Якудза):
    • Устранены недочёты, выявленные при "боевых" испытаниях

Zion WebEngine Что такое CMS 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-параметры