Системные настройки
Последнее обновление Oct 22nd, 2026 | История страницы | Улучшить эту страницу | Сообщить о проблеме
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
$194 per month—let's make that $500!
Learn moreСистемные настройки действуют на весь сайт. Редактируйте их в разделе «Система» → «Системные настройки». В шаблонах значение доступно как [[++key]], в PHP — через $modx->getOption('key').
Переопределение настроек (наследование)¶
Настройку можно переопределить на четырёх уровнях. Для вошедшего пользователя MODX проверяет их в таком порядке:
- Настройка пользователя
- Настройка группы пользователей
- Настройка контекста (в менеджере обычно
mgr) - Системная настройка
Создание системной настройки в менеджере¶
Откройте «Система» → «Системные настройки» и нажмите «Создать».

Параметры¶
| Поле | Назначение |
|---|---|
| Ключ | Уникальное имя для [[++key]] и getOption(). |
| Имя | Подпись в списке настроек; может быть локализована. |
| Тип поля | xtype поля; см. Типы системных настроек. |
| Пространство имён | Папка внутри core/components/, как у пользовательских страниц менеджера. |
| Area Lexicon Entry | Группирует настройки с одинаковым значением. |
| Значение | Значение по умолчанию. |
| Описание | Подсказка; может быть локализована. |
Локализация¶
Имя и описание берутся из записей лексикона:
- Имя:
setting_+ ключ - Описание:
setting_+ ключ +_desc
В пакете эти записи лежат в core/components/<namespace>/lexicon/<language>/default.inc.php:
$_lang['setting_quip.emailsFrom'] = 'From Email';
$_lang['setting_quip.emailsFrom_desc'] = 'The email address to send system emails from.';
Чтение настройки в коде¶
Передайте ключ настройки в getOption():
$siteStartId = $modx->getOption('site_start');
getOption() читает кэш настроек, а не базу данных.
Сохранение настройки в коде¶
Значение из getOption() кэшируется и доступно только для чтения. Чтобы изменить настройку, загрузите объект modSystemSetting, обновите его, сохраните и очистите кэш.
Обновление объекта¶
use MODX\Revolution\modSystemSetting;
$setting = $modx->getObject(modSystemSetting::class, 'site_name');
if ($setting) {
$setting->set('value', 'My New Site Name');
$setting->save();
}
Очистка кэша¶
Сохранение не обновляет кэш настроек. Очистите system_settings; добавьте resource, если значение используется на сайте:
$modx->cacheManager->refresh([
'system_settings' => [],
'resource' => [],
]);
Метаданные настройки¶
use MODX\Revolution\modSystemSetting;
$setting = $modx->getObject(modSystemSetting::class, 'site_name');
print_r($setting->toArray());
Список связанных настроек¶
Группируйте настройки по area или по префиксу ключа.
По области¶
use MODX\Revolution\modSystemSetting;
$relatedSettings = $modx->getCollection(modSystemSetting::class, ['area' => 'mail']);
foreach ($relatedSettings as $setting) {
print $setting->get('value');
}
По префиксу ключа¶
use MODX\Revolution\modSystemSetting;
$query = $modx->newQuery(modSystemSetting::class);
$query->where(['key:LIKE' => 'quip.%']);
$relatedSettings = $modx->getCollection(modSystemSetting::class, $query);
foreach ($relatedSettings as $setting) {
print $setting->get('value');
}
Создание настройки в коде¶
use MODX\Revolution\modSystemSetting;
$setting = $modx->newObject(modSystemSetting::class);
$setting->set('key', 'mykey');
$setting->set('value', 'my_value');
$setting->set('xtype', 'textfield');
$setting->set('namespace', 'my_namespace');
$setting->set('area', 'MyArea');
$setting->save();
$modx->cacheManager->refresh(['system_settings' => []]);
Добавьте записи лексикона, чтобы у настройки появились имя и описание:
$_lang['setting_mykey'] = 'Name of My Setting';
$_lang['setting_mykey_desc'] = 'Description of my key';
Чтобы вывести подпись настройки в шаблоне или пользовательской странице менеджера, вызовите тег лексикона с темой setting:
[[!%setting_emailsender? &topic=`setting` &namespace=`core` &language=`en`]]
Типы системных настроек¶
Атрибут xtype задаёт поле, которое используется в менеджере:
| xtype | Поле |
|---|---|
combo-boolean |
Да/Нет; хранит 1 или 0 |
textfield |
Однострочный текст |
textarea |
Многострочный текст |
text-password |
Скрытый текст |
numberfield |
Число |
modx-combo-language |
Выбор языка |
modx-combo-source |
Выбор источника медиа |
modx-combo-template |
Выбор шаблона |
modx-combo-content-type |
Выбор типа содержимого |
modx-combo-charset |
Выбор кодировки |
modx-combo-rte |
Выбор визуального редактора |
modx-combo-context |
Выбор контекста |
modx-combo-namespace |
Выбор пространства имён |
modx-combo-manager-theme |
Выбор темы менеджера |
Список настроек¶
- access_category_enabled
- access_context_enabled
- access_resource_group_enabled
- allow_duplicate_alias
- allow_forward_across_contexts
- allow_manager_login_forgot_password
- allow_multiple_emails
- allow_tags_in_post
- allow_tv_eval
- anonymous_sessions
- archive_with
- automatic_alias
- automatic_template_assignment
- auto_check_pkg_updates
- auto_check_pkg_updates_cache_expire
- auto_isfolder
- auto_menuindex
- base_help_url
- blocked_minutes
- cache_action_map
- cache_alias_map
- cache_context_settings
- cache_db
- cache_db_expires
- cache_db_session
- cache_db_session_lifetime
- cache_default
- cache_disabled
- cache_format
- cache_handler
- cache_json
- cache_json_expires
- cache_lang_js
- cache_lexicon_topics
- cache_noncore_lexicon_topics
- cache_resource
- cache_resource_clear_partial
- cache_resource_expires
- cache_scripts
- cache_system_settings
- clear_cache_refresh_trees
- compress_css
- compress_js
- compress_js_groups
- compress_js_max_files
- concat_js
- confirm_navigation
- container_suffix
- context_tree_sortby
- context_tree_sortdir
- context_tree_sort
- cultureKey
- custom_resource_classes
- date_timezone
- debug
- default_content_type
- default_context
- default_duplicate_publish_option
- default_media_source
- default_media_source_type
- default_per_page
- default_template
- default_username
- editor_css_path
- editor_css_selectors
- emailsender
- emailsubject
- enable_dragdrop
- enable_gravatar
- enable_template_picker_in_tree
- error_log_filename
- error_log_filepath
- error_page
- extension_packages
- failed_login_attempts
- feed_modx_news
- feed_modx_news_enabled
- feed_modx_security
- feed_modx_security_enabled
- fe_editor_lang
- filemanager_path
- filemanager_path_relative
- filemanager_url
- filemanager_url_relative
- forgot_login_email
- form_customization_use_all_groups
- forward_merge_excludes
- friendly_alias_lowercase_only
- friendly_alias_max_length
- friendly_alias_realtime
- friendly_alias_restrict_chars
- friendly_alias_restrict_chars_pattern
- friendly_alias_strip_element_tags
- friendly_alias_translit
- friendly_alias_translit_class
- friendly_alias_translit_class_path
- friendly_alias_trim_chars
- friendly_alias_word_delimiters
- friendly_alias_word_delimiter
- friendly_url_prefix
- friendly_url_suffix
- friendly_urls
- friendly_urls_strict
- global_duplicate_uri_check
- hidemenu_default
- inherit_parent_template
- inline_help
- link_tag_scheme
- locale
- lock_ttl
- log_deprecated
- log_level
- log_snippet_not_found
- log_target
- login_background_image
- login_help_button
- login_logo
- mail_charset
- mail_dkim_domain
- mail_dkim_identity
- mail_dkim_passphrase
- mail_dkim_privatekeyfile
- mail_dkim_privatekeystring
- mail_dkim_selector
- mail_encoding
- mail_smtp_auth
- mail_smtp_autotls
- mail_smtp_helo
- mail_smtp_hosts
- mail_smtp_keepalive
- mail_smtp_pass
- mail_smtp_port
- mail_smtp_secure
- mail_smtp_single_to
- mail_smtp_timeout
- mail_smtp_user
- mail_use_smtp
- main_nav_parent
- manager_date_format
- manager_datetime_empty_value
- manager_datetime_separator
- manager_direction
- manager_favicon_url
- manager_html5_cache
- manager_js_cache_file_locking
- manager_js_cache_max_age
- manager_js_document_root
- manager_js_zlib_output_compression
- manager_language
- manager_lang_attribute
- manager_login_url_alternate
- manager_logo
- manager_theme
- manager_time_format
- manager_tooltip_delay
- manager_tooltip_enable
- manager_use_fullname
- manager_week_start
- mgr_source_icon
- mgr_tree_icon_context
- modx_browser_default_sort
- modx_browser_default_viewmode
- modx_browser_tree_hide_files
- modx_browser_tree_hide_tooltips
- modx_charset
- new_file_permissions
- new_folder_permissions
- package_installer_at_top
- parser_recurse_uncacheable
- password_generated_length
- password_min_length
- passwordless_activated
- passwordless_expiration
- photo_profile_source
- phpthumb_allow_src_above_docroot
- phpthumb_cache_maxage
- phpthumb_cache_maxfiles
- phpthumb_cache_maxsize
- phpthumb_cache_source_enabled
- phpthumb_document_root
- phpthumb_error_bgcolor
- phpthumb_error_fontsize
- phpthumb_error_textcolor
- phpthumb_far
- phpthumb_imagemagick_path
- phpthumb_nohotlink_enabled
- phpthumb_nohotlink_erase_image
- phpthumb_nohotlink_text_message
- phpthumb_nohotlink_valid_domains
- phpthumb_nooffsitelink_enabled
- phpthumb_nooffsitelink_erase_image
- phpthumb_nooffsitelink_require_refer
- phpthumb_nooffsitelink_text_message
- phpthumb_nooffsitelink_valid_domains
- phpthumb_nooffsitelink_watermark_src
- phpthumb_zoomcrop
- preserve_menuindex
- principal_targets
- proxy_auth_type
- proxy_host
- proxy_password
- proxy_port
- proxy_username
- publish_default
- quick_search_in_content
- quick_search_result_max
- rb_base_dir
- rb_base_url
- request_controller
- request_method_strict
- request_param_alias
- request_param_id
- resource_static_allow_absolute
- resource_static_path
- resource_tree_node_name
- resource_tree_node_name_fallback
- resource_tree_node_tooltip
- richtext_default
- search_default
- send_poweredby_header
- server_offset_time
- server_protocol
- session_cookie_domain
- session_cookie_httponly
- session_cookie_lifetime
- session_cookie_path
- session_cookie_samesite
- session_cookie_secure
- session_enabled
- session_gc_maxlifetime
- session_handler_class
- session_name
- set_header
- settings_version
- show_tv_categories_header
- signupemail_message
- site_name
- site_start
- site_status
- site_unavailable_message
- site_unavailable_page
- static_elements_automate_chunks
- static_elements_automate_plugins
- static_elements_automate_snippets
- static_elements_automate_templates
- static_elements_automate_tvs
- static_elements_basepath
- static_elements_default_category
- static_elements_default_mediasource
- static_elements_html_extension
- strip_image_paths
- symlink_merge_fields
- syncsite_default
- topmenu_show_descriptions
- tree_default_sort
- tree_root_id
- tvs_below_content
- udperms_allowroot
- ui_debug_mode
- unauthorized_page
- upload_files
- upload_file_exists
- upload_maxsize
- upload_translit
- upload_translit_restrict_chars_pattern
- user_nav_parent
- use_alias_path
- use_browser
- use_context_resource_table
- use_editor
- use_frozen_parent_uris
- use_multibyte
- use_weblink_target
- webpwdreminder_message
- welcome_action
- welcome_namespace
- welcome_screen
- welcome_screen_url
- which_editor
- which_element_editor
- xhtml_urls
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
$194 per month—let's make that $500!
Learn more










