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

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 X6.10.20
  • Доработан класс для работы с базой данных: при добавлении новой записи теперь более корректно подставляются некоторые параметры по умолчанию
  • Изменён принцип работы с мастерами: теперь вместо списка вариантов параметров отображаются подробные инструкции по использованию плагинов или свойств
  • Мастера (подсказки) интегрированы в редакторы всех необходимых контентных единиц и в редактор меню
  • Закончена работа над подсказками для вставки плагина универсального меню, для вставки свойств проекта и для вставки свойств контента
  • Упразднён устаревший мастер вставки свойств проекта
  • Удалена устаревшая инструкция по свойствам проектам: вместо неё теперь можно использовать соответствующую подсказку
  • Доработан класс для работы с проектом: внесены коррективы в форму редактирования опций проекта

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

Zion WebEngine X6.10.19
  • Устранены некоторые недочёты в меню администратора
  • Несколько классов и административных скриптов доработано для упрощения работы с мастерами
  • Доработан мастер вставки плагина универсального меню (работа ещё не завершена)

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

Zion WebEngine X6.10.18
  • Несколько классов, плагинов и административных скриптов доработано для упрощения работы с мастерами

Zion WebEngine Классы Плагины Помощники/Мастеры/Инструкции/Подсказки

Zion WebEngine X6.10.17
  • Доработаны плагины каталога и универсального меню: добавлена возможность выбирать, каким образом разбивать записи на блоки
  • Продолжена разработка мастера вставки универсального плагина меню

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

Zion WebEngine X6.10.16
  • Доработана графическая составляющая интерфейса администратора
  • Создан класс для работы с мастерами вставки плагинов и свойств (работа над ним ещё не завершена)
  • Начата разработка сразу нескольких мастеров вставки плагинов и свойств
  • Для нужд администрирования доработаны некоторые скрипты
  • Доработан класс для работы с базой данных: использование некоторых функций стало более удобным

Zion WebEngine Административный интерфейс База данных/Таблицы данных Классы Плагины Помощники/Мастеры/Инструкции/Подсказки Свойства

Zion WebEngine X6.10.15
  • Доработан поиск: теперь он поддерживает одновременно и старую и новую платформы
  • Устранены некоторые недочёты при выборе редакторов контента
  • Доработана система мониторинга для автоматической SEO-оптимизации
  • Доработана кнопка просмотра контентных единиц: адреса веб-страниц теперь подставляются более корректно
  • Завершена адаптация всех пакетов под страницы из новой платформы
  • Устранена ошибка в подсказках к параметрам по умолчанию для плагина меню категорий товаров
  • Новая версия успешно протестирована в "боевых" условиях и с сегодняшнего дня будет внедряться у наших клиентов

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

Zion WebEngine X6.10.14
  • Доработан плагин меню статей: стало доступно использование изображения статьи (спасибо АрмСтайл)
  • Из Ядра полностью удалена поддержка страниц из старой платформы: ведутся работы по адаптации других пакетов под страницы из новой платформы
  • Доработано меню администратора для Ядра: некоторые разделы теперь находятся в других местах
  • Внесены некоторые коррективы в работу с редакторами контента
  • Повышена общая производительность интерфейса администратора из-за отключения некоторых более неактуальных проверок в системе мониторинга
  • Упразднён такой тип программных модулей, как "маркеры": без них интерфейс администратора также работает значительно быстрее
  • Исправлена информация об авторских правах для некоторых доработанных компонентах

Zion WebEngine Zion Catalog Zion Mail Back Zion SEO Booster Zion Pub Hub Zion JivoSite Zion Banners Manager Zion Sender Zion Server Zion Robokassa Zion Qiwi Zion Bulletins Board Zion Polls Lightbox Zion Edition KCAPTCHA Zion Edition Zion Articles Tree Zion News Line Административный интерфейс Изображение Контент/Контентные единицы Меню/Списки/Навигация Меню администратора Мониторинг Плагины Платформа Редактор контента/WYSIWYG-редактор

Zion WebEngine X6.10.13
  • Устранена ошибка при клонировании контентной единицы, для которой пока не был выбран шаблон
  • Доработана фильтрация связанных записей при редактировании их списка
  • Реализовано создание не только прямой, но и обратной связи между контентными единицами (связи из старой платформы используются отдельно от связей из новой платформы)
  • Реализовано отображение связей между контентными единицами
  • В плагине универсального меню добавлена возможность отображать список записей связанных с указанной контентной единицей
  • В плагине универсального меню добавлена возможность отображать список указанных через запятую записей. При этом игнорируются некоторые другие параметры
  • В плагине универсального меню реализована возможность фильтрации контентных единиц по типу. Возможно указание сразу нескольких типов через запятую
  • Закончено создание всех элементов контента, необходимых для полного перевода управления страницами в новую платформу: перевод - начат
  • Доработано создание шаблонов и контентных единиц по умолчанию

Zion WebEngine База данных/Таблицы данных Контент/Контентные единицы Меню/Списки/Навигация Плагины Платформа Связи Типы Фильтрация Шаблоны контента Элементы

Zion WebEngine X6.10.12
  • Значительно расширен функционал класса для работы со связями между контентными единицами (работа ещё не завершена)
  • Доработан класс для работы с контентом: приняты меры для обеспечения дополнительной совместимости с некоторыми новыми элементами контента
  • Доработан класс для работы с базой данных: использование некоторых функций стало более удобным
  • Доработаны некоторые скрипты, необходимые для административных нужд

Zion WebEngine База данных/Таблицы данных Классы Контент/Контентные единицы Связи

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

Zion WebEngine Административный интерфейс Адрес (URL)/ЧПУ/Переадресация База данных/Таблицы данных Вкладки Классы Контент/Контентные единицы Меню/Списки/Навигация Место в структуре Плагины Платформа Связи Шаблоны контента Элементы

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

Zion WebEngine Адрес (URL)/ЧПУ/Переадресация База данных/Таблицы данных Гостевой интерфейс Классы Контент/Контентные единицы Меню/Списки/Навигация Меню администратора Плагины Платформа

Zion WebEngine X6.10.07
  • Завершена работа по созданию класса для управления местом в структуре для контентных единиц: сейчас это необходимо для перевода всего управления страницами в новую более продвинутую платформу
  • Создан класс для управления адресом (URL) контентных единиц - последний элемент, необходимый для перевода всего управления страницами на новую платформу. Приступаем к внедрению...

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

Zion WebEngine X6.10.06
  • Исправлена опечатка в форме добавления новой записи в старой платформе
  • Доработан класс для работы с базой данных: эти доработки положительно скажутся на скорости внедрения дальнейших улучшений
  • Расширен функционал класса для работы с местом контентных единиц в структуре: это позволит ещё удобнее упорядочивать весь контент на сайте

Zion WebEngine База данных/Таблицы данных Классы Контент/Контентные единицы Место в структуре Платформа Формы

Zion WebEngine X6.10.05
  • Создан класс для управления местом в структуре контентных единиц (работа пока не завершена)
  • Расширен список вкладок доступных для редактора шаблонов и для редактора контентных единиц (редакторы стали ещё более удобными)

Zion WebEngine Вкладки Классы Контент/Контентные единицы Место в структуре Шаблоны контента

Zion WebEngine X6.10.04
  • Доработано меню администратора для Ядра: добавлены некоторые полезные разделы (спасибо Мастерская уюта)
  • Доработан класс для работы с базой данных: учтены настройки по умолчанию некоторых хостинг-компаний
  • Устранена проблема с отображением некоторых спец символов (спасибо Домофонный союз)

Zion WebEngine База данных/Таблицы данных Веб-сервер/Хостинг Классы Кодировки/Наборы символов Меню администратора

Zion WebEngine X6.10.03
  • Внесены некоторые улучшения в класс, отвечающий за настройку параметров SEO-оптимизации
  • Для ускорения дальнейшего развития новой платформы были созданы различные вспомогательные классы и реорганизованы уже имеющиеся

Zion WebEngine SEO-параметры Классы Платформа

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

Zion WebEngine Zion Catalog Zion SEO Booster Zion Bulletins Board Zion Articles Tree Zion News Line База данных/Таблицы данных Веб-сервер/Хостинг Драйверы Классы Контент/Контентные единицы Объявления Обработчики Плагины Платформа Поиск текста Помощники/Мастеры/Инструкции/Подсказки Сайт-каталог Свойства Формы Элементы

Zion WebEngine X6.09.30
  • И в старой, и в новой платформах улучшено автоматическое создание идентификаторов для записей в базе данных: учитывая, что идентификаторы на прямую связаны с адресами веб-страниц, очень важна привлекательность отображения этих адресов в поисковых системах - на это направлены данные изменения
  • Устранены некоторые ошибки в отображении подсказок и элементов контента в новой платформе: вероятность возникновения ошибок была мала, но теперь она исключена

Zion WebEngine SEO-параметры Адрес (URL)/ЧПУ/Переадресация База данных/Таблицы данных Контент/Контентные единицы Платформа Помощники/Мастеры/Инструкции/Подсказки Элементы

Zion WebEngine X6.09.29
  • При создании HTML-кода веб-страницы в шаблонах реализована подстановка рекомендованных значений по умолчанию: это позволит ускорить и упростить создание новых шаблонов

Zion WebEngine HTML-код веб-страницы Шаблоны контента

Zion WebEngine X6.09.28
  • Главный файл гостевого интерфейса, а также некоторые классы и плагины доработаны для более удобного использования свойств контентных единиц
  • Во всех классах, которые отвечают за элементы контента добавлена возможность использовать длинный (универсальный) и короткий (локальный) код вставки: идея взята из старой платформы, но реализована на более продвинутом ядре новой платформе
  • Доработаны плагин RSS, плагин меню страниц, плагин контента страницы, плагин ленты новостей и некоторые другие плагины: внедрена часть функционала из новой платформы
  • Доработан драйвер оболочки: реализовано "скрещивание" части функционала из старой и из новой платформ - необходимо для постепенной миграции всего функционала на новую платформу
  • Исправлена информация об авторских правах для некоторых доработанных компонентов

Zion WebEngine Zion News Line XML/RSS/1С/YML Гостевой интерфейс Драйверы Классы Контент/Контентные единицы Меню/Списки/Навигация Миграция Плагины Платформа Свойства Элементы