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

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

22.01.2019

Все плагины в 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 должен быть либо реакцией на действие (вроде onclick="sendRequest...") либо частью свойства ссылки href="javascript:sendRequest..."
    • В реакции на действие или в ссылке должна вызываться следующая функция со следующими параметрами: 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 является бесплатной системой. Развивается за счёт рекламы, помощи ООО "Зион" и других спонсоров.

 

Будем рады, если Вы поддержите нас любой суммой, а также поделитесь идеями на счёт каких-либо улучшений и доработок для CMS...

 

Заранее, большое, спасибо

Блог обновлений

Zion WebEngine X9.02.08
  • Доработан класс для управления пользователями (спасибо Новый стандарт):
    • Добавлены данные для отладки списания абонентской платы

Zion WebEngine Баланс пользователя/Абонентская плата Доступы/Пользователи Классы

Zion WebEngine X9.02.07
  • Доработаны классы для управления контентом и базой данных, а также вспомогательный класс для управления вкладками и административные стили и скрипты:
    • Стал доступен переход по вкладкам с панели инструментов при правке контента:
      • Удобно, когда содержимое вкладок довольно большое - это избавляет от необходимости прокручивать страницу до её начала
      • Также это удобно при управлении сайтом с небольшого мобильного устройства

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

Zion WebEngine X9.02.05
  • Оптимизирован дистрибутив пакета Zion SEO Booster (спасибо Золото-Пермь)
  • Доработан вспомогательный класс для управления вкладками:
    • Устранены некоторые недочёты при работе с вкладками
  • Доработан класс для управления проектом:
    • Учтено наличие в комплекте поставки нестандартных пакетов
  • Доработан обработчик для формы обратной связи:
    • Устранены некоторые недочёты

Zion WebEngine Zion Mail Back Zion SEO Booster Что такое Комплект поставки? SEO-параметры Вкладки Классы Обработчики Обратная связь/Обратный звонок Формы

Zion WebEngine X9.02.04
  • Доработан класс для управления базой данных (спасибо Новый стандарт):
    • Устранены некоторые недочёты при кэшированием через Memcache

Zion WebEngine База данных/Таблицы данных Классы Кэш/Кеш Обратная связь/Обратный звонок

Zion WebEngine X9.01.31
  • Доработан вспомогательный класс для управления изображениями (спасибо Эспираль):
    • Устранена проблема, из-за которой, если не указать (внедрённые в предыдущих обновлениях) отступы, то эскизы получались абсолютно белыми
  • Доработан файл robots.txt по умолчанию:
    • Внедрены некоторые дополнительные запреты на индексирование для поисковых роботов

Zion WebEngine Zion SEO Booster SEO-параметры Изображение Классы Эскизы

Zion WebEngine X9.01.30
  • Доработан класс для управления базой данных (спасибо Эспираль):
    • Устранены некоторые ошибки, которые могут появляться при отсутствии в комплекте поставки некоторых пакетов
  • Доработаны класс для управления email-сообщениями и обработчик для формы обратной связи (спасибо Новый стандарт):
    • Улучшена поддержка многоязычности
    • Налажен вывод особого уведомления с сообщением кода ошибки, если Ваш адрес попал в чёрный антиспам-список одного из почтовых серверов:
      • В этом случае (в отличии от других) повторные попытки отправки email-сообщения через SMTP не предпринимаются, так как они бесполезны
  • Изменено описание для пакета Zion Export
  • Из пакета Zion Catalog выделен отдельный пакет Zion Import, позволяющий импортировать данные из CSV/Excel и XML/RSS/1С/YML

Zion WebEngine Zion Mail Back Zion Export Zion Import CSV/Excel Email-сообщения SMTP/PHP-mail XML/RSS/1С/YML База данных/Таблицы данных Импорт/Экспорт Классы Многоязычность/Языки Обработчики Обратная связь/Обратный звонок Спам Уведомления Формы

Zion WebEngine X9.01.29
  • Доработаны классы для управления пользователями и оплатой через банк (спасибо Новый стандарт):
    • Реализована возможность распечатывать счета для заказов прямо из административного интерфейса:
      • Доступно только для заказов, для которых в качестве способа оплаты выбрана оплата через банк
      • Доступно только, если включены уведомления о заказах в административном интерфейсе
  • Доработан класс для управления файлами и папками (спасибо Color House):
    • Устранены некоторые недочёты при удалении кэша
  • Доработан классы для управления базой данных:
    • Устранены недочёты при отключении способов оплаты, доставки и уведомлений о заказах, использующих настраиваемые модули
  • Доработан драйвер оболочки:
    • Улучшено распознавание запросов к плагинам
  • Доработан административный интерфейс:
    • Улучшена панель инструментов для контента:
      • Кнопка "Удалить все записи" теперь появляется только, если есть хотя бы одна запись
      • Добавлены новые кнопки:
        • "Просмотреть"
        • "Клонировать"
        • "Удалить эту запись"
        • "Удалить подразделы этой записи"
          • Недоступна на мобильных устройствах
        • "Переместить в указанное место"
        • "Сохранить"
        • "Отменить"
          • Недоступна на мобильных устройствах
        • "К списку"
          • Недоступна на мобильных устройствах
        • "Перейти к шаблону"
      • Доработан вспомогательный класс для управления вкладками:
        • Начата работа по отображению списка вкладок на панели инструментов
    • Виджет с аватаром пользователя теперь доступен только на больших мониторах

Zion WebEngine Zion Catalog Административный интерфейс База данных/Таблицы данных Вкладки Доступы/Пользователи Драйверы Классы Контент/Контентные единицы Корзина заказов Кэш/Кеш Плагины Способы доставки Способы оплаты Уведомления о заказах Файлы/Папки Шаблоны

Zion WebEngine X9.01.28
  • Доработаны элементы "Изображение" и "Галерея", а также вспомогательный класс для управления изображениями:
    • Решены проблемы с возможностью добавлять отступы по краям картинок:
      • Теперь со всех сторон добавляются одинаковые отступы
      • Возможность добавления отступов появляется только тогда, когда у будущего эскиза известны обе стороны
        • Если известна только одна сторона, то в добавлении отступов необходимости нет, так как изображение уменьшается с соблюдением пропорций
        • Возможность, выбора, какую часть изображения обрезать, а какую оставить, также появляется только, если известны обе стороны будущего эскиза
      • Проблем с большими изображениями больше не возникает
    • Также доработаны некоторые административные скрипты

Zion WebEngine Zion Gallery Галереи/Слайды Изображение Классы Элементы Эскизы

Zion WebEngine X8.12.27
  • Доработаны элементы "Изображение" и "Галерея" (спасибо Color House):
    • Временно отключена возможность добавлять отступы по краям картинок:
      • Работаем над устранением некоторых проблем

Zion WebEngine Zion Gallery Галереи/Слайды Изображение Элементы

Zion WebEngine X9.01.25
  • Доработаны элементы "Изображение" и "Галерея", а также вспомогательный класс для управления изображениями (спасибо Color House):
    • Реализована возможность добавлять отступы по краям картинок:
      • Это может быть полезно, когда пропорции оригинального изображения плохо соответствуют пропорциям автоматически создаваемых эскизов
      • Для PNG-изображений поля прозрачные, для остальных - белые
      • При выполнении данной операции с очень большими изображениями может появляться ошибка - работаем над устранением этой проблемы

Zion WebEngine Zion Gallery Галереи/Слайды Изображение Классы Элементы Эскизы

Zion WebEngine X9.01.24
  • Доработан классы для управления базой данных:
    • Более продуманно организована проверка на корректность данных в форме для добавления новой записи
  • Доработан класс для управления онлайн-консультантом:
    • Реализована возможность скрывать кнопки для вызова онлайн-консультанта в тех случаях, когда он должен быть по каким-либо причинам недоступен
  • Доработан класс для управления контентом:
    • Сделано несколько оптимизаций для снижения нагрузки на систему управления правами доступа для групп пользователей
  • Оптимизированы дистрибутивы некоторых пакетов за счёт удаления некоторых файлов, которые были необходимы для старого дизайна административного интерфейса

Zion WebEngine Zion Mail Back Zion JivoSite Zion Multi-Lang Zion Bulletins Board Zion Banners Manager Zion Sender Zion Polls Zion Server База данных/Таблицы данных Доступ Групп пользователей Классы Контент/Контентные единицы Онлайн-консультант

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

Zion WebEngine Zion User Control Zion Chat База данных/Таблицы данных Доступы/Пользователи Классы Место в структуре Обмен сообщениями/Чат Уведомления

Zion WebEngine X9.01.22
  • Доработан класс для управления проектом:
    • В административный интерфейс внесены некоторые коррективы, учитывающие комплект поставки

Zion WebEngine Что такое Комплект поставки? Административный интерфейс Классы

Zion WebEngine X9.01.21
  • Устранены ошибки в комплекте поставке предыдущей версии Zion Chat (спасибо Новый стандарт):

Zion Chat Обмен сообщениями/Чат

Zion WebEngine X9.01.17
  • Из пакета Zion User Control в пакет Zion WebEngine перенесены некоторые компоненты для работы с аватарами пользователей

Zion WebEngine Zion User Control Доступы/Пользователи

Zion WebEngine X9.01.16
  • Из пакета Zion Catalog выделен отдельный новый пакет Zion Export (позволяет автоматически экспортировать данные в 1С и аналогичные системы через XML-файлы):
    • Из пакета Zion Catalog также удалены некоторые компоненты, необходимые для старой версии административного интерфейса
    • Доработано создание записей по умолчанию для способов уведомления о заказах
  • Доработан класс для управления базой данных:
    • Дополнен список уведомлений, которые сообщают о необходимости добавить те или иные компоненты при отсутствии их в комплекте поставки

Zion WebEngine Zion Catalog Zion Export Что такое Комплект поставки? XML/RSS/1С/YML Административный интерфейс База данных/Таблицы данных Импорт/Экспорт Интернет-магазин Классы Уведомления Уведомления о заказах

Zion WebEngine X9.01.15
  • Продолжается внедрение нового дизайна для административного интерфейса:
    • Доработано меню администратора для всех пакетов
    • Доработан класс для управления шаблонами:
      • Устранены проблемы с отображением списка добавляемых и клонируемых элементов
    • Доработаны вспомогательные классы для управления элементами:
      • Устранены проблемы с отменой удаления элементов из шаблона
    • Устранены проблемы с отображением некоторых инструкций
    • Доработаны формы для настройки уведомлений о новых заказах на системный e-mail и в XML-файлы
    • Доработаны классы для управления уведомлениями и проектом, а также главный файл интерфейса администратора и CSS-оформление для интерфейса администратора
      • Новый дизайн уже доступен во всех поставках, но некоторые его новые возможности станут доступны только в ближайших обновлениях
    • Доработано отображение пути к редактируемому объекту:
      • Для этого создан вспомогательный класс для управления интерфейсом администратора
    • Реализована панель инструментов, которая закрепляется в верхней части интерфейса администратора, и на которой всегда будут доступны кнопки для основных операций для редактируемого в данный момент объекта:
      • Уже доступны следующие кнопки:
        • Показать/скрыть меню
        • Установленные пакеты: в выпадающем списке можно посмотреть комплект поставки и краткое описание для каждого установленного пакета, а также перейти к подробному описанию и к списку всех остальных пакетов (пока отсутствующих в поставке)
        • Уведомления: выпадающий список появляется и автоматически открывается только, если для Вас есть уведомления.
          • Счётчик на этой кнопке отображает количество уведомлений
          • Цвет счётчика на этой кнопке показываеть степень важности уведомлений:
            • Зелёный - выполнено
            • Синий - примите к сведению
            • Жёлтый - важно
            • Красный - опасно
        • Перейти на сайт: главная страница сайта откроется в новом окне
        • Добавить новую запись: пока доступно только в списке контентных единиц и в выбраннной контентной единице
        • Удалить все записи: пока доступно только в списке контентных единиц
      • Остальные кнопки появятся в ближайших обновлениях

Zion WebEngine Zion Catalog Zion Mail Back Zion Gallery Zion Pub Hub Zion JivoSite Zion SEO Booster Zion User Control Zion Multi-Lang Zion Express Delivery Zion Chat Zion Qiwi Zion Robokassa Zion Bulletins Board Zion Banners Manager Zion Sender Zion Polls Zion Server Email-сообщения XML/RSS/1С/YML Административный интерфейс Классы Контент/Контентные единицы Меню администратора Помощники/Мастеры/Инструкции/Подсказки Уведомления Уведомления о заказах Формы Шаблоны Элементы

Zion WebEngine X9.01.14
  • Доработан класс для управления пользователями (спасибо Новый стандарт):
    • Устранены недочёты при определении даты следующего списания абонентской платы
    • Устранены недочёты при определении того, требуется ли для указанного пользователя учёт абонентской платы
  • Продолжается внедрение нового дизайна для административного интерфейса:
    • Доработан класс для управления базой данных
      • Уже можно увидеть изменённую форму добавления новой записи
    • Остальные изменения появятся в ближайших обновлениях

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

Zion WebEngine X9.01.12
  • Продолжается внедрение нового дизайна для административного интерфейса:
    • Доработаны очень многие классы в нескольких пакетах
    • Доработан плагин меню администратора
    • Исправлена информация об авторских правах для доработанных компонентов
    • Уже можно увидеть новый путь ("хлебные крошки") к тому что, редактируется в данные момент:
      • Остальные изменения появятся в ближайших обновлениях

Zion WebEngine Zion Catalog Zion Gallery Zion JivoSite Zion Multi-Lang Zion Bulletins Board Административный интерфейс Классы Меню администратора Плагины

Zion WebEngine X9.01.10
  • Доработан вспомогательный класс для управления элементами (спасибо Новый стандарт):
    • Для всех элементов теперь доступен плагин _CheckedIfNotVoid, позволяющий выводить код checked, если указанное в параметрах поле указанной там же записи не пустое:
      • Может быть полезно для организации различных форм (с галочками), в которых нужно учитывать содержимое базы данных
  • Доработан главный файл гостевого интерфейса

Zion WebEngine База данных/Таблицы данных Галочка Гостевой интерфейс Классы Плагины Формы Элементы