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

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.01.05
  • Доработаны страницы ошибок и класс для управления пользователями:
    • Улучшена интеграция с Google AdSense

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

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

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

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

Zion WebEngine База данных/Таблицы данных Классы Контент/Контентные единицы Место в структуре Типы Что такое Тип контента?

Zion WebEngine 21.12.28
  • Доработан настраиваемый модуль способа получения заказа Бронирование (спасибо Пермский период):
    • Теперь для него доступно указание комментария к заказу
  • Доработан настраиваемый модуль способа получения заказа Самовывоз
    • Устранены небольшие недочёты при очистке данных в куках

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

Zion WebEngine 21.12.27
  • Доработан элемент Дата (спасибо Федерация Киокушин России):
    • Теперь данные и из этого элемента могут быть использованы для быстрого просмотра в списке контентных единиц в административном интерфейсе
  • Устранён недочёт в комплекте поставки предыдущего обновления для пакета Zion WebEngine

Zion WebEngine Zion Pub Hub Административный интерфейс Дата/Время/TimeMashine Контент/Контентные единицы Обновления CMS Элементы Что такое Элементы?

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

Zion xPayment Административный интерфейс Классы Настраиваемые модули Помощники/Мастеры/Инструкции/Подсказки Способы оплаты Уведомления Что такое Классы?

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

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

Zion WebEngine 21.12.17
  • Доработан класс для управления обновлениями CMS на стороне сервера:
    • Автоматизировано обновление информации в подсказке об условиях получения обновлений для CMS
  • Доработан обработчик заказа обратного звонка:
    • Повышена защита от спама и флуда:
      • Теперь заказ звонка не принимается, если в номере телефона, нет ни одной цифры, если номер телефона начинается с нуля, если номер телефона или имя похожи на адрес сайта
  • Доработаны административные CSS-определение, административные JS-скрипты, а также классы для управления файлами и папками, базой данных, онлайн-консультантом Jivo:
    • Улучшена адаптация административного интерфейса под мобильные устройства

Zion WebEngine Zion Mail Back Zion JivoSite Zion Server Что такое Административный интерфейс и Гостевой интерфейс? Административный интерфейс База данных/Таблицы данных Веб-сервер/Хостинг Классы Обновления CMS Обработчики Обратная связь/Обратный звонок Онлайн-консультант Помощники/Мастеры/Инструкции/Подсказки Спам Файлы/Папки

Zion WebEngine 21.12.16
  • Доработан плагин для отображения контента (спасибо Хронос Медиа):
    • Внесены коррективы в работу параметра html2xml:
      • Более корректно выполняется замена кавычек:
        • « заменится на "
        • « заменится на "
    • Параметр htmlspecialchars теперь обрабатывается после html2xml:
      • Это необходимо, так как в нём также реализована замена кавычек в формат, необходимый для XML-выдачи
  • Доработан класс для управления обновлениями CMS на стороне сервера:
    • Упрощено обновление информации в подсказке об условиях получения обновлений для CMS

Zion WebEngine Zion Server HTML-код веб-страницы XML/RSS/1С/YML Веб-сервер/Хостинг Классы Кодировки/Наборы символов Контент/Контентные единицы Обновления CMS Плагины Что такое Плагины?

Zion WebEngine 21.12.15
  • Доработан плагин для отображения контента (спасибо Хронос Медиа):
    • Изменена логика для недавно добавленного параметра html2xml:
      • Теперь он реализует следующие замены:
        • « заменится на "
        • » заменится на "
        • – заменится на -
        • — заменится на -
        • … заменится на ...

Zion WebEngine HTML-код веб-страницы XML/RSS/1С/YML Кодировки/Наборы символов Контент/Контентные единицы Плагины Что такое Контент?

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

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

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

Zion WebEngine Zion xPayment Классы Настраиваемые модули Способы оплаты Формы Что такое Вкладки?

Zion WebEngine 21.12.06
  • Доработан класс для управления обновлениями CMS на стороне сервера (спасибо Пермский период):
    • Актуализирована информация в подсказке об условиях получения обновлений для CMS

Zion Server Что такое CMS Zion WebEngine? Веб-сервер/Хостинг Классы Обновления CMS Помощники/Мастеры/Инструкции/Подсказки

Zion WebEngine 21.12.03
  • Создан настраиваемый модуль для онлайн-оплаты через интернет-эквайринг от Тинькофф с возможностью оплаты в кредит или в рассрочку (спасибо Смарт Мастер):
    • Разработка ещё не завершена
  • Доработан настраиваемый модуль для онлайн-оплаты через интернет-эквайринг от Сбербанка:
    • Устранены ошибки в названиях параметров в форме для настройки интеграции
  • Доработан настраиваемый модуль для онлайн-оплаты через Robokassa:
    • Устранены опечатки в инструкции
  • Дорабан класс для управления способами оплаты:
    • Дополнен список способов оплаты по умолчанию
  • Доработак класс для управления базой данных:
    • Устранена вероятность несоздания полей при автоматической корректировке таблиц данных

Zion WebEngine Zion Catalog Zion xPayment Robokassa База данных/Таблицы данных Классы Настраиваемые модули Помощники/Мастеры/Инструкции/Подсказки Способы оплаты Формы Что такое Классы?

Zion WebEngine 21.12.02
  • Доработан настраиваемый модуль для онлайн-оплаты через интернет-эквайринг от ПромСвязьБанка (спасибо Пермский период):
    • Устранены ошибки в названии банка

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

Zion WebEngine 21.12.01
  • Доработан плагин для отображения контента (спасибо Хронос Медиа):
    • Добавлен параметр html2xml:
      • При любом его непустом значении будут реализованы следующие замены:
        • & заменится на &
        • " заменится на "
        • ' заменится на '
        • < заменится на &lt;
        • > заменится на &gt;
    • Новый параметр полезен, в случаях, когда не "помогает" аналогичный параметр htmlspecialchars:
      • Он может быть полезен, например, для формирования XML-кода, в том числе RSS-ленты
  • Устранена ошибка в комплекте поставки предыдущей версии пакета Zion User Control

Zion WebEngine Zion User Control Что такое Комплект поставки? HTML-код веб-страницы XML/RSS/1С/YML Классы Кодировки/Наборы символов Контент/Контентные единицы Обновления CMS Плагины

Zion WebEngine 21.11.29
  • Доработан класс для управления миграцией со старых версий CMS (спасибо Marina Santi):
    • Устранены недочёты в миграции новостей, выявленые в предыдущей версии
    • При миграции новостей и статей реализована конвертация большего количества параметров, чем ранее

Zion WebEngine Что такое CMS Zion WebEngine? Контент/Контентные единицы Миграция

Zion WebEngine 21.11.23
  • Доработан класс для управления миграцией со старых версий CMS (спасибо Marina Santi):
    • При миграции новостей учтено, что одна новость может быть связана с несколькими категориями
    • При миграции новостей и статей реализована конвертация большего количества параметров, чем ранее
    • Теперь мигратор совместим с версией Zion WebEngine 3.4.1

Zion WebEngine Zion WebEngine 3.4.1 Категории Контент/Контентные единицы Миграция Что такое Контент?

Zion WebEngine 21.11.22
  • Доработан настраиваемый модуль для онлайн-оплаты через интернет-эквайринг от Сбербанка (спасибо Смарт Мастер):
    • В инструкции от Сбербанка нами выявлена ошибка:
      • Этот файт отмечен в нашей инструкции вместе с указаниями о том, где и как нужно менять выданный банком пароль для "боевой" среды

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

Zion WebEngine 21.11.18
  • Доработан класс для управления базой данных (спасибо Смарт Мастер):
    • Расширен список названий, для которых ID будет формироваться не путём транслитерации, а путём перевода с русского языка на английский

Zion WebEngine База данных/Таблицы данных Классы Что такое Классы?