Объект MODExt MODX
Последнее обновление Oct 27th, 2020 | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$306 per month—let's make that $500!
Learn moreОбъект MODx JS¶
MODExt поставляется с глобальным объектом MODx JS на каждой странице менеджера. Этот объект имеет несколько пользовательских методов, которые могут быть выполнены с любой пользовательской страницы менеджера с использованием MODExt, а также устанавливает некоторые настройки по умолчанию.
Пользовательские переменные класса¶
Следующие переменные доступны из объекта MODx JS:
MODx.request¶
Это объект JS, который содержит все текущие параметры GET для страницы. Пример:
var id = MODx.request.id;
MODx.config¶
Этот объект содержит все активные системные настройки в MODX по ключу:
var tpl = MODx.config.default_template;
Другие переменные¶
В объекте MODx.config есть несколько других переменных, которые не являются системными настройками:
Ключ | Описание |
---|---|
base_url | Базовый URL для сайта MODX и / или активного контекста. |
connectors_url | URL к каталогу коннекторов. |
manager_url | URL к менеджеру. |
http_host | Переменная хоста HTTP для активного контекста. |
site_url | Полный URL сайта для активного контекста. |
custom_resource_classes | Массив пользовательских классов ресурсов, извлеченных из системных настроек custom_resource_classes |
MODx.action¶
Этот объект содержит карту всех объектов modAction (или контроллеров диспетчера MODX), сопоставленных их контроллером с их идентификатором:
var actionId = MODx.action['resource/create'];
Начиная с MODX 2.2, неосновные действия имеют префикс своего пространства имен. До 2.2 это был бы просто контроллер действий. Например, действие «controllers/index» в пространстве имен «mycomponent» можно получить, используя следующую информацию в версии 2.2 и выше:
var actionId = MODx.action['mycomponent:controllers/index'];
MODx.version¶
Содержит информацию о версии MODX со следующими атрибутами:
Ключ | Пример |
---|---|
версия | 2 |
major_version | 1 |
minor_version | 0 |
patch_level | pl |
кодовое имя | Revolution |
дистрибутив | (Traditional) |
полная версия | 2.1.0-пл |
full_appname | MODX Revolution 2.1.0-pl (Traditional) |
Пример:
var fv = MODx.version.full_version;
MODx.user¶
Этот объект будет содержать два следующих свойства для текущего пользователя администратора, вошедшего в систему:
MODx.user.id | The ID of the user. |
---|---|
MODx.user.username | Имя пользователя. |
var userId = MODx.user.id;
MODx.perm¶
Будет содержать следующие разрешения, если они будут предоставлены пользователю (они не будут существовать, если у пользователя нет разрешения):
Название | Описание |
---|---|
MODx.perm.resource_tree | Для просмотра дерева ресурсов. |
MODx.perm.element_tree | Для просмотра дерева элементов. |
MODx.perm.file_tree | Для просмотра дерева файлов. |
MODx.perm.file_upload | Загружать файлы. |
MODx.perm.file_manager | Использовать файловый браузер MODX. |
MODx.perm.new_chunk | Создать новый чанк. |
MODx.perm.new_plugin | Создать новый плагин. |
MODx.perm.new_snippet | Создать новый сниппет. |
MODx.perm.new_template | Создать новый шаблон. |
MODx.perm.new_tv | Создать новую переменную шаблона. |
MODx.perm.directory_create | Создать каталог в файловой системе. |
if (MODx.perm.file_upload) { /* ...код... */ }
Пользовательские методы¶
Объект MODx также имеет довольно много пользовательских методов:
MODx.load¶
Этот метод создаст новый объект любого указанного xtype и переданный в параметрах конфигурации. Пример:
var w = MODx.load({
xtype: 'modx-window-namespace-create'
,blankValues: true
});
w.setValues({ name: 'My Namespace' });
w.show();
Любой определенный класс, имеющий зарегистрированный тип xtype, может быть загружен из этого метода.
MODx.clearCache¶
Этот метод запускает консоль, которая очищает кеш MODX. Он также будет запускать события beforeClearCache и afterClearCache для объекта MODx. Если системный параметр clear_cache_refresh_trees установлен в 1, он также обновит все активные деревья слева.
MODx.releaseLock¶
Это снимет блокировку с текущего активного ресурса. Этот метод не должен запускаться на страницах редактирования, не относящихся к ресурсам. Он будет запускать события beforeReleaseLocks и afterReleaseLocks объекта MODx.
MODx.sleep¶
Этот метод заставит JavaScript засыпать (или останавливаться) на указанное количество секунд:
MODx.sleep(3); /* остановиться на 3 секунды */
MODx.logout¶
Этот метод автоматически выведет из менеджера активного пользователя. Он запускает события beforeLogout и afterLogout объекта MODx. Если оба события успешны, он перенаправит пользователя на экран входа в систему.
MODx.loadHelpPane¶
Этот метод загрузит текущий экран справки для активной страницы. Обычно это устанавливается по умолчанию в записи modAction для страницы, а ее URL-адрес можно найти с помощью свойства MODx.config.help_url. Однако вы можете переопределить его поведение, чтобы запустить любой URL на панели:
/* Показать сайт в модальном окне справки */
MODx.config.help_url = 'https://modx.com/';
MODx.loadHelpPane();
MODx.preview¶
Загружает текущий сайт MODX для активного контекста.
MODx.isEmpty¶
Проверяет, является ли указанная переменная «пустой» (в смысле PHP). Это означает, что это либо:
- false, 'false', или 'FALSE'
- 0 или '0'
- '' (пустая строка)
- null (нуль)
- undefined (неопределено)
MODx.debug¶
(Только с версии 2.1+)
Этот метод отправит сообщение об отладке тогда и только тогда, когда для системной настройки MODX ui_debug_mode установлено значение Да/1. Отладочное сообщение будет использовать console.log для вывода на консоль. Это может быть полезно для добавления отладки и сравнений в ваш код, не нарушая его на рабочих сайтах (которые, вероятно, отключили бы ui_debug_mode).
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$306 per month—let's make that $500!
Learn more