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

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.04.08
  • Доработан класс парсера стороннего сайта (спасибо Moto-Retail18):
    • Добавлены кнопки просмотра и правки, чтобы упростить переход из парсера к товарам, сохранённым через него

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

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

Zion UserControl Zion Catalog Zion xDelivery Что такое Административный интерфейс и Гостевой интерфейс? Административный интерфейс Классы Настраиваемые модули Скидки/Наценки

Zion WebEngine 22.04.04
  • Доработан класс для управления импортом из CRM Intrum (спасибо Good Авто):
    • Упразднено возникновение некритических ошибок при отсутствии тех или иных данных

Zion Import Импорт/Экспорт Классы Что такое Классы?

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

Zion WebEngine Что такое система Мониторинга? Административный интерфейс Адрес (URL)/ЧПУ/Переадресация Гостевой интерфейс Мониторинг Обновления CMS Плагины Файлы/Папки

Zion WebEngine 22.03.30
  • Доработаны классы для управления заказами и управления способами оплаты (спасибо Пермский период):
    • Реализована возможность для администратора в уже оформленном заказе заменить выбранный покупателем способ оплаты на другой:
      • Помимо доступных способов оплаты здесь можно выбрать и недоступные
  • Доработан класс для управления пользователями:
    • Устранены некоторые недочёты при замене покупателя в ранее оформеленном заказе

Zion WebEngine Zion Catalog Доступы/Пользователи Классы Корзина для заказов Способы оплаты Что такое Классы?

Zion WebEngine 22.03.29
  • Доработан элемент HTML-код веб-страницы:
    • Теперь в условии IS_HAS_ID_идентификатор??истина::ложь можно использовать несколько идентификаторов:
      • Отделять их друг от друга нужно двойной вертикальной чертой:
        • Например: IS_HAS_ID_идентификатор1||идентификатор2||идентификатор3??истина::ложь
      • Количество идентификаторов не ограничено

Zion WebEngine HTML-код веб-страницы Условия Элемент "HTML-код веб-страницы"

Zion WebEngine 22.03.17
  • Доработаны главный файл гостевого интерфейса и класс для управления проектом:
    • Добавлена опция Автоматически переадресовывать на главное зеркало:
      • Если сайт доступен на нескольких доменах и поддоменах (например, с www. и без), то при установке этой галочки со всех возможных зеркал будет производиться автоматическая переадресация на адрес, который указан в поле Адрес основного зеркала сайта
      • На доступность административного интерфейса данная опция не оказывает влияния
      • Эта опция полезна для SEO-оптимизации, т.к. избавит Вас от создания в базах поисковиков нескольких копий сайта, мешающих продвижению друг друга

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

Zion WebEngine 22.03.16
  • Доработан элемент SEO-параметры (спасибо Хронос Медиа):
    • Доработана корректировка файла robots.txt при изменении параметров для файла sitemap.xml:
      • В некоторых случаях адрес sitemap.xml в robots.txt мог прописываться некорректно

Zion WebEngine SEO-параметры XML/RSS/1С/YML Элементы Как создать sitemap.xml?

Zion WebEngine 22.03.09
  • Доработан обработчик для формы обратной связи:
    • Улучшена защита от спама и флуда за счёт более продуманной проверки указываемого в форме номера телефона

Zion Mail Back Обработчики Спам Формы

Zion WebEngine 22.02.28
  • Доработаны меню администратора для пакета Zion SEO Booster, элемент SEO-параметры и монитор SEO-оптимизации (спасибо Федерация Киокушин Пермского края):
    • Реализовано полностью автоматическое формирование файла sitemap.xml, который может быть полезен для качественной оптимизации сайта под поисковые системы:
      • Как и раньше, настройки для каждой отдельной веб-страницы задаются при правке её элемента SEO-параметры
      • Доступна возможность изменить конечное имя файла sitemap.xml, которое по стандартам может быть абсолютно любым
      • Доступна возможность изменить частоту обновления этого файла в зависимости от специфики Вашего сайта:
        • Для новостных порталов это может быть обновление раз в 5 минут
        • Для сайтов, где информация обновляется очень редко, можно указать абсолютно любое значение, которое позволит максимально снизить нагрузку на веб-сервер
    • Реализованы некоторые другие небольшие удобства для упрощения процесса SEO-оптимизации

Zion WebEngine Zion SEO Booster SEO-параметры XML/RSS/1С/YML Веб-сервер/Хостинг Меню администратора Мониторинг Элементы Как оптимизировать сайт под поисковые системы?

Zion WebEngine 22.02.25
  • Доработаны драйвер оболочки класс для работы с текущими данными и плагин универсального меню (спасибо Moto-Retail18):
    • Упрощён поиск строк, в которых присутсвуют кавычки

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

Zion WebEngine 22.02.21
  • Доработан плагин Meta:
    • Устранена несовместимость со старыми версиями CMS

Zion SEO Booster Что такое CMS Zion WebEngine? SEO-параметры Плагины

Zion WebEngine 22.02.18
  • Доработаны класс для управления контентом, плагин Meta и элемент SEO-параметры:
    • Появилась возможность разрешать/запрещать поисковым роботам индексацию каждой отдельной веб-страницы

Zion WebEngine Zion SEO Booster SEO-параметры Классы Контент/Контентные единицы Плагины Элементы Что такое Плагины?

Zion WebEngine 22.02.17
  • Доработаны класс для управления контентом и элемент SEO-параметры:
    • Появилась возможность скрывать в sitemap.xml те записи, которые по какой-либо причине там должны отсутствовать

Zion WebEngine SEO-параметры Классы Контент/Контентные единицы Элементы Как создать sitemap.xml?

Zion WebEngine 22.02.15
  • Доработаны главный файл административного интерфейса, главный файл авторизации и класс для управления пользователями:
    • Теперь (например, после длительного отсутствия), если CMS просит Вас повторно указать логин и пароль от административного интерфейса, то после успешного входа Вы будете перенаправлены на тот же раздел, из которого Вас "выкинуло":
      • Если при этом у Вас было открыто несклолько вкладок (или окон) с "админкой", то вход достаточно выполнить только в одной:
        • Если в других вкладках уже тоже запрошен пароль, то обновите страницу - попадёте туда, где и были в этой вкладке
        • Если в других вкладках пароль не запрашивается, можете спокойно продолжить делать то, что делали до этого

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

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

Zion WebEngine Административный интерфейс Веб-сервер/Хостинг Вкладки Классы Что такое Вкладки?

Zion WebEngine 22.02.11
  • Доработан класс для управления импортом из CRM Intrum (спасибо Good Авто):
    • Стал доступен импорт из CRM данных об ID категорий

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

Zion WebEngine 22.01.28
  • Доработан класс для управления базой данных (спасибо Цифрал Сервис):
    • Теперь в списках шаблонов и типов в административном интерфейсе можно увидеть используется ли данный шаблон или тип (есть ли хотя бы одна запись с таким шаблоном или типом):
      • Так будет проще принять решение например, об удалении или изменении шаблона или типа, которые на данный момент не используется ни для одной записи

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

Zion WebEngine 22.01.25
  • Доработан настраиваемый модуль реакции на заказ для интеграции с сервисом онлайн-кассы Атол Онлайн (спасибо Пермский период):
    • Устранены некоторые недочёты

Zion Export Настраиваемые модули Онлайн-касса Реакции на заказ

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

Zion Catalog Zion xPayment Zion Export База данных/Таблицы данных Классы Корзина для заказов Настраиваемые модули Обновления CMS Онлайн-касса Реакции на заказ Способы оплаты Что такое Классы?

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

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