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

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 20.01.18
  • Доработан класс для интеграции с Gifts.Ru (спасибо ZS-Moskva):
    • Реализован импорт данных о структуре каталога (о категориях товаров и о товарах в этих категориях с учётом подкатегорий)

Zion Import Импорт/Экспорт Категории Классы Сайт-каталог

Zion WebEngine 20.01.17
  • Доработан класс для работы с XML-данными (спасибо ZS-Moskva):
    • Упразднены некоторые архаизмы
  • Доработано меню администратора для пакета Zion Import:
    • Начата работа по внедрению интеграции с веб-сервисом Gifts.Ru

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

Zion WebEngine 20.01.14
  • Оптимизирован класс для работы с файлами и папками (спасибо Moto-Retail18):
    • Реализована возможность отключения обязательной сортировки по имени при построении дерева каталогов
    • Реализовано кэширование при построении дерева каталогов
  • Доработан класс для работы с XML-данными:
    • Ускорена загрузка списков файлов и папок при настройке импорта из XML/1С
  • Эскиз по умолчанию перенесён из пакета Zion Pub Hub в Zion WebEngine, так как он может быть необходим для других пакетов
  • Доработана система мониторинга для Ядра (спасибо Федерация Киокусинкай Пермского края):
    • Приняты меры для того, чтобы стандартный эскиз по умолчанию не заменял собой его пользовательский аналог при обновлениях до более новых версий CMS
  • Доработан класс для управления типами:
    • Улучшен алгоритм автоматического создания недостающих столбцов в таблицах данных:
      • Повышена совместимость со старыми версиями CMS при их обновлении до более свежих версий
    • Устранены некоторые недочёты, связанные с выбором для типа шаблона по умолчанию:
      • В некоторых случаях могли появляться вкладки, которых в редакторе типов быть не должно
  • Доработан класс для управления базой данных:
    • Реализованы некоторые решения, которые станут доступны в более новых версиях CMS

Zion WebEngine Zion Import Zion Pub Hub Что такое Комплект поставки? XML/RSS/1С/YML База данных/Таблицы данных Импорт/Экспорт Классы Кэш/Кеш Мониторинг Обновления CMS Типы Файлы/Папки Шаблоны контента Эскизы

Zion WebEngine 20.01.09
  • Доработаны класс для работы с навигацией и плагин универсального меню (спасибо Якудза):
    • Добавлено новое условие IS_HOUR<значение??истина::ложь, с помощью которого можно применять к меню разное оформление в зависимости от того, наступил ли указанный в значении час:
      • Может быть полезно, например, в тех случаях, если Вы принимаете заказы не круглосуточно

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

Zion WebEngine 20.01.07
  • Доработан класс конвертации кириллических доменов (спасибо Балкон-Мастер):
    • Устранена несовместимость с PHP 7.4

Zion WebEngine PHP Классы Кодировки/Наборы символов

Zion WebEngine 20.01.06
  • Доработаны страницы ошибок

Zion WebEngine Страницы ошибок

Zion WebEngine 20.01.04
  • Для совместимости с новыми стандартами CMS доработаны некоторые компоненты:
    • Инструкция по использованию CKeditor
    • Элемент "HTML-код веб-страницы"
    • Классы для управления проектом, пользователями и шаблонами
    • Мониторы MySQLi и объявлений
    • Обработчики обратной связи, обратного звонка и добавления объявления
    • Настраиваемые модули для управления уведомлениями о заказах на системный email и для расчёта стоимости и срока доставки через СДЭК
    • Плагины Meta и SendMail

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

Zion WebEngine 20.01.03
  • Доработан класс для управления связями:
    • Устраненены некоторые недочёты в совместимости с PHP 7.4
  • Доработан монитор функциональности PHP:
    • Реализована полная совместимости с PHP 7.4

Zion WebEngine PHP Классы Мониторинг Связи

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

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

Zion WebEngine X9.12.12
  • Доработаны классы для управления корзиной и заказами (спасибо Moto-Retail18):
    • При настройке способов уведомления о заказах стала доступна возможность отключать для телефона покупателя строгий формат 79XXXXXXXXX
      • Такой формт нужен только при использовании онлайн-оплаты через Qiwi Кассу. В остальных случаях он создаёт неудобства для покупателей

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

Zion WebEngine X9.12.09
  • Улучшена совместимость с сервисом Google AdSense

Zion WebEngine

Zion WebEngine X9.12.05
  • Доработан настраиваемый модуль для онлайн-оплаты через Робокассу (спасибо Чистая Магия):
    • Учтено, что в тестовый сервер Робокассы возвращает не все отпавляемые ему дополнительные параметры

Zion Robokassa Robokassa Настраиваемые модули Способы оплаты

Zion WebEngine X9.12.03
  • Доработан настраиваемый модуль для расчёта стоимости и срока доставки через СДЭК (спасибо Чистая Магия):
    • Стало доступно указание выходных дней недели:
      • Если Ваша доставка не работает, например, в субботу и/или воскресенье, то с новым параметром можно автоматически увеличить отсрочку доставки
      • При отображении результата рассчёта срока и стоимости доставки вместо срока в днях от-до отображается крайняя дата доставки:
        • Это связано с тем, что параметры отсрочки и выходных дней доставки никак не влияют на сам срок доставки в днях

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

Zion WebEngine X9.11.25
  • Доработан вспомогательный класс для работы с элементами контента (спасибо Федерация Киокусинкай Пермского края):
    • Реализована возможность в качестве элементов вставлять в шаблоны не только стандартные, но и пользовательские классы:
      • Пользовательские классы располагаются в отдельной папке, которая ранее игнорировалась при поиске доступных элементов
      • Пользовательские классы (теперь в том числе и элементы), как и раньше имеют больший приоритет, чем стандартные
  • Класс, облегчающий миграцию со старых версий CMS на новые теперь совместим с версиями Zion WebEngine 3.4.2 и 3.5.1

Zion WebEngine Zion WebEngine 3.4.2 Zion WebEngine 3.5.1 Что такое CMS Zion WebEngine? Контент/Контентные единицы Миграция Шаблоны контента Элементы

Zion WebEngine X9.11.22
  • Доработан плагин универсального меню (спасибо Гид по Тоскане):
    • Устранены некоторые недочёты при обработке параметров:
      • Например, теперь текущая страница подставляется в параметр factor только, если параметр не был указан при обращении к плагину:
        • Иначе могли отображаться не те записи, которые нужны, если указанная в factor запись не существует (например, была удалена)

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

Zion WebEngine X9.11.15
  • Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Федерация Киокусинкай Пермского края):
    • Устранены проблемы с конвертацией URL-адресов, необходимых для переадресации
    • Расширены возможности для адресного запрета миграции тех или иных контентных единиц

Zion WebEngine Адрес (URL)/ЧПУ/Переадресация Классы Контент/Контентные единицы Миграция

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

Zion WebEngine Классы Контент/Контентные единицы Миграция

Zion WebEngine X9.11.13
  • Доработан плагин универсального меню (спасибо Белый и Пушистый):
    • Добавлен новый параметр notzero, при указании которого в списках будут скрываться записи с нулевыми значениями в поле, которое указано в данном параметре:
      • Пример: notzero:stringfield_15_value
      • Это может быть полезно, например, для отображения только товаров в наличии
    • В помощнике по вставке плагина универсального меню учтены новые возможности плагина
  • Доработан класс для управления URL-адресом:
    • Создан плагин url_Redirect, в который можно передать код ответа сервера (по умолчанию 301) и адрес, на который нужно передресовать посетителя

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

Zion WebEngine X9.11.12
  • Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Гид по Тоскане):
    • Улучшена конвертация HTML-кода веб-страниц и SEO-параметров
    • Внесены значительные изменения в конвертацию URL-адресов:
      • Теперь адреса конвертируются нетолько внутри тегов ссылок, но и в свойствах контента, отвечающих за переадресацию
    • Учтена ситуация, при которой страница по умолчанию используется только для переадресации, и при этом у неё не выбран шаблон
    • При миграции меню и списков теперь игнорируются некоторые архаизмы
  • Доработан плагин универсального меню (спасибо Белый и Пушистый):
    • Устранены недочёты при фильтрации записей по свойствам

Zion WebEngine Что такое CMS Zion WebEngine? HTML-код веб-страницы SEO-параметры Адрес (URL)/ЧПУ/Переадресация Классы Контент/Контентные единицы Меню/Списки/Навигация Миграция Плагины Свойства Фильтрация Шаблоны контента

Zion WebEngine X9.11.11
  • Доработан класс для управления базой данных (спасибо Федерация Киокусинкай Пермского края):
    • Устранена уязвимость, благодаря которой в случае неуказания некоторых параметров в запросе обновления данных, могли измениться все записи, а не только нужные:
      • Теперь при не указании необходимых параметров обновление данных производиться не будет

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