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

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 26.11.09
  • Доработаны классы для работы с формами обратной связи, для интеграции с FrontPad, для работы с галереями, для интеграции с Gifts.Ru, для управления доступами групп пользователей, а также вспомогательный класс для работы с элементами и элемент HTML-код веб-страницы (спасибо Портал поддержки):
    • Оптимизирована очистка кэша
    • Оптимизировано использование оперативной памяти
    • Внедрён новый подход к работе с данными
    • Уменьшен объём программного кода
  • Доработан экспорт данных в YML-фид (спасибо Li:Store):
    • Теперь для каждого шаблона можно выбирать не одну, а несколько вкладок, на которых расположены характеристики товара - это ближе к современным реалиям
    • В выгрузку теперь попадают только товары, у которых цена выше нуля, т.к. иначе фид может не пройти модерацию в Яндекс.Директ

Zion WebEngine Zion UserControl Zion Mail Back Zion Import Zion Gallery Zion Export HTML-код веб-страницы XML/RSS/1С/YML Вкладки Галереи/Слайды Доступ Групп пользователей Импорт/Экспорт Классы Кэш/Кеш Обратная связь/Обратный звонок Реакции на заказ Сайт-каталог Формы Характеристики/Разновидности Шаблоны контента Элементы Элемент "HTML-код веб-страницы"

Zion WebEngine 26.11.06
  • Доработан вспомогательный класс для работы с настройками (спасибо Энерго-Профи):
    • Обработанные при импорте CSV-файлы, теперь автоматически удаляются, чтобы избежать повторной обработки уже импортированных данных
    • Пароли теперь шифруются при импорте:
      • В предпросмотре видны и зашифрованный и незашифрованный вариант (на время разработки)
    • Разработка почти завершена

Zion WebEngine CSV/Excel Доступы/Пользователи Импорт/Экспорт Файлы/Папки Как импортировать данные о пользователях из XML

Zion WebEngine 26.11.04
  • Доработан вспомогательный класс для работы с настройками (спасибо Энерго-Профи):
    • Теперь импорт данных производится из всех CSV-файлов в указанной папке
    • Разработка ещё не завершена
  • Доработан класс для управления базой данных
    • Реализована возможность через административный интерфейс удалить всех пользователей из той или иной группы:
      • Недоступно для групп Администраторы и Гости
      • Недоступно, если в комплекте поставки нет пакета Zion User Control

Zion WebEngine Что такое Комплект поставки? CSV/Excel Административный интерфейс База данных/Таблицы данных Доступ Групп пользователей Доступы/Пользователи Импорт/Экспорт Классы Файлы/Папки

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

Zion WebEngine Zion Import CSV/Excel База данных/Таблицы данных Импорт/Экспорт Классы

Zion WebEngine 26.10.29
  • Доработан вспомогательный класс для работы с настройками (спасибо Энерго-Профи):
    • Реализована возможность предпросмотра указанного CSV-файла
    • Реализована возможность задавать значимость столбцов и связывать их со столбцами в таблице данных о пользователях
    • Разработка ещё не завершена
  • Доработан инструмент для импорта данных о пользователях через CSV/Excel:
    • Расширены возможности по заданию различных параметров
    • Разработка ещё не завершена
  • Доработан класс для управления ЧПУ
    • Уменьшен объём программного кода

Zion WebEngine Zion Import CSV/Excel Адрес (URL)/ЧПУ/Переадресация База данных/Таблицы данных Доступы/Пользователи Импорт/Экспорт Классы

Zion WebEngine 26.10.26
  • Доработаны вспомогательный класс для работы с настройками и элемент Файл (спасибо Энерго-Профи):
    • Реализована возможность загружать файлы в папку, указанную в настройках
    • Разработка ещё не завершена
  • Доработан инструмент для импорта данных о пользователях через CSV/Excel:
    • Расширены возможности по заданию различных параметров
    • Разработка ещё не завершена
  • Доработаны классы для работы с SMS-шлюзами и для интеграции с SMSЦентром
    • Оптимизирована очистка кэша
    • Оптимизировано использование оперативной памяти
    • Внедрён новый подход к работе с данными
    • Уменьшен объём программного кода

Zion WebEngine Zion Import Zion Pub Hub CSV/Excel SMS Доступы/Пользователи Импорт/Экспорт Классы Кэш/Кеш Реакции на заказ Файлы/Папки Элементы Что такое Элементы?

Zion WebEngine 26.10.23
  • Доработан вспомогательный класс для работы с настройками (спасибо Энерго-Профи):
    • Уже реализовано управление настройками, таких видов, как выбор папки, выбор файла из папки, список записей из БД, выбор одного из вариантов, число, строка
    • Разработка ещё не завершена
  • Доработан инструмент для импорта данных о пользователях через CSV/Excel:
    • Расширены возможности по заданию различных параметров
    • Разработка ещё не завершена
  • Доработано класс для управления способами доставки:
    • Устранена проблема, которая могла привести к критической ошибке при входе в административный интерфейс
  • Доработан класс для управления файлами и папками:
    • Расширены возможности плагина для выбора папки в административном интерфейсе dir_SelectFolder
    • Создан плагин для выбора файла в папке в административном интерфейсе dir_SelectFileInFolder
  • Доработаны класс для управления Jivo и монитор функциональности PHP
    • Оптимизирована очистка кэша
    • Оптимизировано использование оперативной памяти
    • Внедрён новый подход к работе с данными
    • Уменьшен объём программного кода

Zion WebEngine Zion Catalog Zion Import Zion JivoSite Что такое Административный интерфейс и Гостевой интерфейс? CSV/Excel PHP Административный интерфейс База данных/Таблицы данных Выбор одного из вариантов Импорт/Экспорт Классы Кэш/Кеш Мониторинг Онлайн-консультант Плагины Способы доставки/самовывоза Файлы/Папки Число

Zion WebEngine 26.10.22
  • Доработаны классы для управления способами доставки, файлами и папками, скидками, точками самовывоза, доработаны настраиваемые модули для управления скидкой при заказе на определённую скидку, скидкой для определённого количества товаров из определённой категории, скидкой для всех товаров из определённой категории, скидкой для пользователей с определённым скидочным уровнем на товары из определённой категории:
    • Оптимизирована очистка кэша
    • Оптимизировано использование оперативной памяти
    • Внедрён новый подход к работе с данными
    • Уменьшен объём программного кода

Zion WebEngine Zion UserControl Zion Catalog Zion xDelivery Доступы/Пользователи Категории Классы Корзина для заказов Кэш/Кеш Настраиваемые модули Скидки/Наценки Способы доставки/самовывоза Файлы/Папки

Zion WebEngine 26.10.21
  • Создан вспомогательный класс для работы с настройками (спасибо Энерго-Профи):
    • В перспективе он позволит управлять всеми параметрами через единый интерфейс и ускорит создание и доработку всех компонентов, для которых может потребоваться задание настроек
    • Разработка ещё не завершена
  • Создан инструмент для импорта данных о пользователях через CSV/Excel:
    • Разработка ещё не завершена
  • Доработано меню администратора для пакета Zion Import
  • Доработаны классы для управления пользователями и способами оплаты
    • Оптимизирована очистка кэша
    • Оптимизировано использование оперативной памяти
    • Внедрён новый подход к работе с данными
    • Уменьшен объём программного кода

Zion WebEngine Zion Catalog Zion Import Что такое Меню администратора? CSV/Excel Доступы/Пользователи Импорт/Экспорт Классы Кэш/Кеш Меню администратора Способы оплаты

Zion WebEngine 26.10.15
  • Доработаны элементы Выбор одного из вариантов и Выбор нескольких вариантов (спасибо Li:Store):
    • Устранена вероятность появления одинаковых вариантов
    • Оптимизирована очистка кэша
    • Оптимизировано использование оперативной памяти
    • Внедрён новый подход к работе с данными
    • Уменьшен объём программного кода

Zion Catalog Выбор нескольких вариантов Выбор одного из вариантов Кэш/Кеш Элементы Что такое Элементы?

Zion WebEngine 26.10.12
  • Доработан плагин Menu (спасибо Теплодом):
    • Устранены некоторые недочёты из предыдущего обновления

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

Zion WebEngine 26.10.11
  • Доработан плагин Menu (спасибо Li:Store):
    • Расширены возможности очень тонкой настройки параметров поиска:
      • если даже search-mode задан в параметрах, может быть переопределён через непустой POST[search-mode], иначе через непустой GET[search-mode], иначе через непустой COOKIE[search-mode]
      • если не задан types, но задан search в параметрах, types может быть переопределён через непустой POST[search-types], иначе через непустой GET[search-types], иначе через непустой COOKIE[search-types]
      • если даже search-cols задан в параметрах, может быть переопределён через непустой POST[search-cols], иначе через непустой GET[search-cols], иначе через непустой COOKIE[search-cols]

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

Zion WebEngine 26.10.08
  • Доработан класс для управления данными (спасибо Портал поддержки):
    • Теперь создание и использование кэша работает быстрее, нативнее и безопаснее благодаря внедрённой сериализации и десериализации данных
  • Доработан плагин Menu (спасибо Li:Store):
    • Для недавно созданного параметра search-mode, указывающего на то, в каком режиме должен осуществляться поиск, добавлен новый вариант значения:
      • all-parts - должно быть найдено каждое слово из искомой фразы:
        • слова могут быть указаны в любом порядке
        • слово должно быть найдено хотя бы один раз в любом из указанных полей
        • на сортировку результатов не влияет

Zion WebEngine Классы Кэш/Кеш Меню/Списки/Навигация Плагины Поиск текста Что такое Классы?

Zion WebEngine 26.10.07
  • Доработаны элементы Галочка и Цвет и классы для управления контентом, курсами валют, данными и базой данных:
    • Оптимизирована очистка кэша
    • Оптимизировано использование оперативной памяти
    • Внедрён новый подход к работе с данными
    • Уменьшен объём программного кода

Zion WebEngine Zion Catalog База данных/Таблицы данных Валюты Галочка Классы Контент/Контентные единицы Кэш/Кеш Элементы Как редактировать Контент?

Zion WebEngine 26.10.06
  • Доработан плагин Menu (спасибо Li:Store):
    • Добавлен новый параметр search-mode, указывающий на то, в каком режиме должен осуществляться поиск:
      • full - должна быть найдена искомая фраза целиком (как раньше - по умолчанию)
      • parts - должно быть найдено любое слово из искомой фразы (в этом случае сортировка будет организована так, что в начале списка будут отображены записи, в которых найдено больше всего слов из искомой фразы, плюс они будут отсортированы по названию)
  • Доработан инструмент для обновления цен через совместимый с Excel CSV-файл:
    • Внедрён новый подход к работе с данными
  • Доработан класс для управления человекопонятным URL:
    • Оптимизировано использование оперативной памяти

Zion WebEngine Zion Import CSV/Excel Адрес (URL)/ЧПУ/Переадресация Классы Меню/Списки/Навигация Плагины Поиск текста Скидки/Наценки Плагин Menu

Zion WebEngine 26.09.23
  • Доработан плагин Meta (спасибо Li:Store):
    • Оптимизировано использование оперативной памяти
    • Внедрён новый подход к работе с данными
  • Доработаны меню администратора для пакета Zion Catalog и класс для интеграции с программой лояльности LoCards:
    • Реализовано удобное управление параметрами интеграции
    • Реализован обмен данными между сайтом и API программы лояльности
    • Реализованы возможности:
      • Запоминать номер телефона участника программы лояльности
      • Определять и запоминать баланс участника программы лояльности
    • Разработка завершена, но в ближайших обновлениях возможны какие-либо доработки
  • Доработан инструмент для обновления цен через совместимый с Excel CSV-файл:
    • Устранены некоторые мелкие недочёты, не затрагивающие основной функционал

Zion WebEngine Zion Catalog Zion Import CSV/Excel SEO-параметры Классы Меню администратора Обновления CMS Плагины Скидки/Наценки Что такое Плагины?

Zion WebEngine 26.09.22
  • Доработан класс для управления данными (спасибо Киокушин Online):
    • Более продуманно организована очистка кэша
  • Доработан элемент Дата:
    • Устранена проблема из-за которой было невозможно указать дата позже, чем 19.01.2038 03:14:07
    • Теперь лимит для всех дат - 292 миллиарда лет

Zion WebEngine Дата/Время/TimeMashine Классы Кэш/Кеш Элементы Что такое Элементы?

Zion WebEngine 26.09.21
  • Создан класс для интеграции с программой лояльности LoCards (спасибо Li:Store):
    • Разработка ещё не завершена
  • Доработан класс для интеграции с Яндекс.Карты:
    • Оптимизировано использование оперативной памяти
  • Доработаны классы для работы с контентом, HTTP-ошибками, проектом и интеграцией с Рекламной сетью Яндекса:
    • Приняты меры по обходу заграничных блокировок некоторых библиотек, которые важны для работы CMS

Zion WebEngine Zion Catalog Классы Контент/Контентные единицы Скидки/Наценки Страницы ошибок Что такое Контент?

Zion WebEngine 26.09.20
  • Доработан класс для управления данными (спасибо Киокушин Online):
    • Более продуманно организовано задания параметров для некоторых методов

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