Перейти к содержанию

Поиск сообщества

Показаны результаты для тегов 'hook'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Invision Community
    • Дизайн и стилизация
    • Приложения и плагины
    • Помощь и поддержка
    • Миграция на Invision Community
    • IP.Board 3.x
    • Разработка
  • invisionbyte.ru
    • Обратная связь
    • Тестовые посты
    • Обо всём

Категории

  • Начало работы
  • Администрирование
    • Интернет-магазин (Commerce)
    • Страницы (Pages)
    • Форумы (Forums)
    • Галерея (Gallery)
    • Загрузки (Files)
    • Блоги (Blogs)
    • Пользователи
  • Модерирование
  • Кастомизация
    • Дизайн и стилизация
    • Локализация
  • Антиспам и безопасность
  • Приложения сторониих разработчиков
  • Разработчику
  • База знаний
  • Общее
    • Хостинг
    • Домены
    • Поисковая оптимизация

Категории

  • Новое сообщество
    • Лицензия
    • Системные требования
    • Установка
    • Обновление
    • Перенос с других платформ
  • Приложения
    • Форумы
    • Страницы
    • Галерея
    • Загрузки
    • Блоги
    • Календарь
    • Коммерция
  • Продвижение
    • Продвижение в социальных сетях
  • Общее использование
    • Знакомство
    • Общие настройки
    • Контент
    • Пользователи
    • Модерация
    • Авторизация через сайты
    • СЕО оптимизация
    • Управление файлами
  • Индивидуализация
    • Темы и дизайн
    • Языки и переводы
    • Редактор сообщений
    • Синтаксис шаблонов
    • CSS фреймворк
    • Javascript
    • Советы и трюки
  • Расширение возможностей
    • Конфигурация
    • Управление сервером
    • IPS Connect
  • Разработка
    • Приложения
    • Плагины
  • Сторонние приложения
    • Automation Rules

Категории

  • Темы и дизайн
  • Дополнительные возможности
  • Обновление Invision Community
  • Безопасность
  • Миграция на Invision Community
  • Ошибки

Категории

  • Русский язык для Invision Community
  • Плагины
  • Темы
  • Модули оплаты

Категории

  • Общее
  • Разработка
    • Приложения
    • Плагины
    • Расширения
  • Фреймворк
    • Ноды
    • Элементы контента
    • Комментарии
    • Отзывы
  • Пользователи и аутентификации
  • Другие возможности
    • Уведомления и E-mail
    • Формы
    • Коммерция
  • Документация разработчика
  • REST API
    • Система
    • Загрузки
    • Страницы
    • Форумы
    • Галерея
    • Календарь
    • Блоги
    • Магазин

Категории

  • Успешные истории и интервью с владельцами сообществ на Invision Community

Категории

  • Локализция Invision Community
  • Коммерция
  • Антиспам и безопасность
  • Темы и дизайн
  • Интерфейс
  • Модерирование
  • Дополнительно
  • Локализация

Блоги

  • Мой тестовый блог
  • IPS 4 и контентные проекты
  • Блог начинающего сисадмина или идеальный сервер для IPS4
  • Подробнее о IPS4
  • Продвижение городского форума на Invision Community

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


Адрес сайта

Найдено: 2 результата

  1. Тимофей

    Хуки тем

    Хуки тем позволяют изменять шаблоны HTML. Шаблоны HTML в Invision Community структурированы по группам, месту расположения и приложениям. У каждого приложения по меньшей мере 3 местоположения: front (шаблоны используемые для фронт-энда) admin (шаблоны используемые для администратора) global (шаблоны которые используются для обоих) Хотя некоторые приложения могут иметь больше, для конкретных целей (например, приложение core имеет другое место для установки/обновления - setup). Каждое местоположение может содержать любое количество групп - группы являются наборами шаблонов, например, приложение core имеет одну группу (в front) называется messaging, который содержит все шаблоны для создания и просмотра личных бесед. Один хук тем действует в одной группе шаблонов. Вы можете создать хуки тем в Plugin Developer Center. При создании есть два способа использования хуков тем - каждый из которых работает по-разному и поэтому будет уместен при различных потребностях. CSS селекторы При редактировании ваших хуков тем в Plugin Developer Center, будет отображаться панель, показывающая все шаблоны в этой группе: При выборе любого шаблона появляется интерфейс с вкладками, показывающий изменения, которые ваш хук делает в этом шаблоне, и позволяет создавать другие изменения. Чтобы модифицировать выбранный шаблон, вам нужен CSS селектор - вы можете использовать любой из селекторов, поддерживаемых JQuery (стоит отметить, что jQuery не участвует в создании вашего хука, это просто чтобы показать, что поддерживаемые селекторы одинаковы). Самый простой способ выбрать селектор - использовать кнопку "Select Element", которая запустит модель отображения шаблона и позволит просто выбрать элемент, который вы хотите использовать: Важно отметить, что при использовании функции "Select Element", используется наиболее специфический селектор CSS для выбранного элемента, однако, селектор может также соответствовать другим элементам, так что вам, возможно, потребуется настроить его. При работе с контентом, в дополнение к переменным, которые доступны для шаблона (которые показаны рядом с редактором) вы также можете использовать любые переменные, доступные в этом пункте в шаблоне (например, если вы вставили код в цикл foreach, вы можете использовать переменные, созданные им). Вы можете также использовать логику шаблонов и теги шаблонов Invision Community. Режим PHP Под капотом, каждый шаблон группы скомпилирован в PHP класс, с помощью метода для каждого шаблона. Вы можете расширить этот класс вручную отредактировав файл, который будет создан в /plugins/<your plugin>/hooks. Важно отметить, что при использовании этого режима, когда вы перегружаете группы скомпилированных шаблонов, возвращаемое значение будет в виде HTML-кода, который будет отображаться, без какой-либо логики шаблонов или тэгов шаблона. Все те же соображения, что и для хуков кода (см "Важные моменты которые нужно помнить при создании хуков") также применимы и здесь.
  2. Тимофей

    Хуки кода

    Хуки кода позволяют расширить любой класс в Invision Community, или функционал установленного приложения. Вы можете создавать хуки кода в Plugin Developer Center. Как вы могли заметить, в коде классы при определении начинаются с подчеркивания, а вызывается без него. Например, в /system/Member/Member.php определение следующее: namespace IPS; class _Member extends \IPS\Patterns\ActiveRecord Уже в коде класс вызывается так \IPS\Member а не \IPS\_Member. При создании хука определите класс который вы хотите расширить без подчеркивания. Когда вы редактируете код будет следующая надпись "extends _HOOK_CLASS_" –это из-за того что класс который он расширяет может варьироваться, если несколько хуков перегружают один и тот же класс. Вы можете редактировать хуки как в Plugin Developer Center так и вручную, путем изменения файла, находящегося в /plugins/<ваш_плагин>/hooks. Использовать Plugin Developer Center удобнее так как все свойства и методы класса которые вы расширяете показаны в боковой панели и щелчок на любой из них вставит выражение в редактор. Важные моменты которые нужно помнить при создании хуков: Первая строчка в классе, который вы создаете, должна быть такой: //<?php – это если вы хотите править файл вручную в редакторе, чтобы подсветка синтаксиса работала верно, так или иначе тэг <?php не должен применяться без комментариев. Ваш хук определится как расширение _HOOK_CLASS_ - синтаксически это неверно, но это нельзя менять. Система сама изменит это на нужный класс который может изменяться в зависимости от того сколько на нем хуков. Если ваш код создает PHP ошибку или выдает RuntimeException, ваш хук будет проигнорирован и система вернется к исходному классу. Если вы хотите намеренно создать исключение, добавьте объект соответствующего класса в исключение. При переопределении метода НЕОБХОДИМО вызвать родительский метод. Идеально если вы вставите его в начало или конец метода. Это необходимо для работы нескольких хуков на один метод. При переопределении метода, вам НЕ СЛЕДУЕТ копировать код оригинального метода в ваш хук. Необходимо убедиться, что ваш хук не будет конфликтовать с багфиксами или изменениями оригинального класса в будущих версиях. Кроме того, это противоречит условиям лицензии Invision Community на инъекции в него кастомного кода.
×
×
  • Создать...

Важная информация

Используя наш сайт вы соглашаетесь с нашей Политикой конфиденциальности