Jump to content

Использование Центра Разработчика

Центр Разработчика свой для каждого приложения и плагина это инструмент, который облегчает создание и обновление приложений и плагинов для Invision Community. Большинство функций, доступных в Центре Разработчика, можно изменить в файлах на сервере, однако рекомендуется использовать для этого именно Центр Разработчика, чтобы свести к минимуму время разработки, а также вероятность ошибок в вашем коде.

Поскольку потребности приложения по сравнению с плагином разные, Центр Разработчика для каждого из них отличается.

Приложения

Центр Разработчика для каждого приложения позволяет вам управлять несколькими аспектами приложения и облегчает создание обновлений и управление версиями. Разберём каждую вкладку в Центре Разработчика и рассмотрим что в каждой из них можно выполнять.

developer_center.png

Modules - Front

Данная вкладка позволяет вам создавать новые фронт модули, которые соответствуют директориям по адресу applications/(ваше-приложение)/modules/front/. После создания фронт модуля, вы можете создать один или несколько контроллеров под ним, а также установить, какой модуль будет загружаться по умолчанию (например, если вы посетите страницу index.php?app=(ваше-приложение), какой модуль должен быть загружен), а также какой контроллер является стандартным в каждом модуле. Здесь вы также можете редактировать и удалять модули и контроллеры. 

Modules - Admin

Как и с фронт модулями, вы также можете управлять модулями админцентра. Функционал этой вкладки очень похож с функционалом вкладки фронт модулей, но есть одна большая разница: при создании контроллеров, вы можете одновременно создать пункты меню, ограничения доступа в админцентре, а также использовать один из трёх шаблонов для контроллера (нормальный контроллер, table helper контроллер и контроллер узла (node)). Если контроллер будет контроллером узла (например страница, позволяющая управлять категориями, для которой вы хотите использовать функционал узла), вы должны использовать шаблон контроллера узла. Аналогично, если вы собираетесь выводить таблицу данных (например список пользователей или системные журналы), вы должны использовать шаблон table helper контроллера.

Settings

Вкладка Settings позволяет добавлять новые настройки и определять их стандартные значения. Эти настройки будут записаны в файл settings.json в директории data вашего приложения, и при установке вашего приложения администратором, эти настройки будут импортированы. Вам всё равно необходимо создать один или несколько контроллеров для отображения настроек администратору, для возможности корректировать значения в нормальном удобном виде.

Tasks

Вы можете использовать эту вкладку для добавления любых задач, необходимых вашему приложению. Здесь вы указываете ключ, названием которого будет назван файл, настраиваете время запуска задачи, после чего автоматически создаётся шаблонный файл в директории applications/(ваше-приложение)/tasks/. Ваши задачи также будут записаны в файл tasks.json (в директории data вашего приложения) и автоматически установлены при установке вашего приложения.

Versions

При создании нового приложения, в этой вкладке вы увидите две записи: install, что представляет установку вашего приложения, и working, представляющую текущую невыпущенную версию (не определяйте номер версии, пока ваше приложение не будет готово к релизу). Как правило, вам не нужно определять какие-либо изменения в базе данных на этой вкладке. При внесении изменений во вкладке Database Schema (описание ниже), SQL запросы будут автоматически использованы при формировании приложения. Однако, если вы обновляете ваше приложение с 3.x на 4.x, возможно вам понадобится определить некоторые запросы, которые будут запущены в процессе обновления, или если вы настраиваете таблицы базы данных вне вашего приложения, вам нужно будет вручную определить эти изменения здесь. 

При необходимости вы также можете добавлять и удалять процедуры обновления и ручные запросы для более старых версий с этой страницы.

Если вы создаёте релиз обновления, который требует выполнения кода, а не простой запрос к базе данных, вы можете щелкнуть значок кода </> для версии "working", тем самым создать upgrade.php файл в директории setup/upg_working/ вашего приложения. Затем вы должны открыть этот файл и следовать инструкциям в нём, чтобы создать шаги обновления, которые выполняют дополнительные действия, чем просто выполнение запросов к базе данных.

Вы можете прочитать дополнительную информацию о версиях в приложениях в статье Версии/Обновление.

versions.png

Widgets

Если ваше приложение добавляет какие-либо виджеты в боковой блок, вы можете определить их в этой вкладке. При добавлении нового виджета, вы укажете специальный ключ, а также класс, который расширяет ваш виджет (что обеспечивает работу определённого автоматического функционала, например кэширования виджета на основе разрешений). Вы можете указать, доступен ли ваш виджет для отображения в боковом блоке и/или в приложении Страницы для использования его на страницах. Вы также можете указать, должен ли ваш виджет отображаться в вашем приложении по умолчанию "из коробки", выбрать стиль формы настройки (меню или модальное окно), и определить, можно ли использовать виджет более одного раза на одной странице. После сохранения формы, шаблонный файл будет создан в директории applications/(ваше-приложение)/widgets/, который нужно будет заполнить необходимым образом, в итоге виджет будет добавлен в директорию /data/widgets.json при окончательном создании вашего приложения.

Hooks

Приложения, как и плагины, могут определять хуки, которые, по своей сути, переопределяют поведение стандартного кода в Invision Community.

Extensions

Расширения позволяют выполнять действия в определенных точках во время обычного выполнения кода без необходимости перезагружать функцию (тот же хук). В Invision Community есть множество различных типов расширений. Для создания нового расширения в вашем приложении, разверните список доступных расширений у приложения, расширение которого хотите подключить (обычно Core и Nexus), затем нажмите на иконку (+) справа от типа расширения. Файл с шаблоном будет создан в директории extensions/(app)/(extension)/.

Если вы хотите в своём приложении определить свои собственные расширения, которые смогут создавать другие приложения, в директории data/ вашего приложения вы должны создать директорию defaults/ и в ней создать директорию extensions. В этой директории вы создаёте шаблоны своих расширений с расширением .txt, вместо .php. Вы можете просмотреть примеры расширений для приложения Core в вашем Центре Разработчика. 

Database Schema

Всякий раз, когда вам нужно добавить новые таблицы в базу данных или изменить существующие таблицы для своего приложения, вы всегда должны делать это на вкладке "Database Schema" в Центре Разработчика вашего приложения. Мало того, что ваши изменения будут записаны автоматически, они также будут автоматически выполнены в процессе установки или обновления вашего приложения. Вы можете добавлять, редактировать и удалять таблицы базы данных, столбцы, индексы и стандартные вставки для этих таблиц из этой области вашего Центра Разработчика с помощью дружелюбного GUI интерфейса.

Admin CP Restrictions

Эта вкладка позволяет вам определять ограничения в админцентре, которые вы можете использовать в своём коде для определения, может ли текущий администратор выполнять определённые действия в вашем приложении. Нет никаких технических требований для использования Admin CP Restrictions, однако настоятельно рекомендуется, чтобы вы это делали, когда ваше приложение предоставляет различный функционал. Например, если ваше приложение позволяет администраторам добавлять контент и просматривать отчётную статистику, вы можете захотеть позволить одним администраторам делать всё это, а другим разрешить только просмотр статистики. Вы можете легко это сделать, указав эти ограничения в Центре Разработчика, а затем использовать в своём коде для проверки наличия ограничения.

Ограничения привязаны к модулю, поэтому вам сперва необходимо создать админ модуль (и вы можете автоматически создать основное ограничение во время этого процесса). Однако, если ваш модуль обрабатывает просмотр, добавление, редактирование и удаление совместно в одном модуле (в качестве примера), вы можете создать дополнительные ограничения на вкладке Admin CP Restrictions, а затем настроить свои контроллеры так, чтобы проверить соответствующие ограничения, когда администратор пытается выполнить какое-либо конкретное действие.

Также обратите внимание, что вам будет необходимо создать языковые строки для каждой группы ограничений и отдельно для каждого ограничения. Если вы создали ограничение "myappview", то ключ языковой фразы будет "r__myappview" для группы и "r__myappview_manage" для самого ограничения.

Admin CP Menu

Вкладка Admin CP Menu позволяет вам управлять ссылками в меню админцентра и создаёт меню в файле data/acpmenu.json вашего приложения. При добавлении админ модулей вы автоматически создадите меню в админцентре (если захотите), однако вы также можете вручную отредактировать этот файл для внесения изменений в меню.

Если вы захотите расположить пункт меню (или несколько пунктов) во вкладке Статистика, вы должны использовать вкладку "stats" верхнего уровня.

Плагины

Единственная вкладка для плагинов, которой не существует для приложений в Центре Разработчика это вкладка 'Information', которая позволяет вам заполнить информацию о плагине, автора, название, версию и т.д. Остальные вкладки полностью идентичны как для плагинов, так и для приложений.




Messenger

    ×
    ×
    • Create New...

    Important Information

    By using our site you agree to our Privacy Policy