Системные настройки
Пятьдесят одна настройка в пространстве имён pageblocks, все их создаёт установщик пакета. Значения по умолчанию ниже — то, что получает чистая установка.
Отсутствующая настройка и её значение по умолчанию — разное
MODX возвращает пустоту для настройки, которой нет, а код обычно читает это как «выключено». Если фича кажется неработающей, сперва убедитесь, что ключ вообще есть в Система → Системные настройки: на площадке, куда пакет донесли копированием файлов вместо установки, настройки не появлялись вовсе.
Основные
| Настройка | По умолчанию | Описание |
|---|---|---|
pageblocks_routing | full | Режим маршрутизации: Disabled (off), Route Only (routes), Full API (full). |
pageblocks_strict_routes | выкл | Строгое сопоставление маршрутов, без снисходительных запасных вариантов. |
pageblocks_route_cache | выкл | Кэшировать собранную таблицу маршрутов. Чистится вместе с кэшем MODX. |
pageblocks_site_mode | prod | Production или Development. См. Почту — в dev не даёт письмам уйти живым пользователям. |
pageblocks_versioning | вкл | Хранить историю версий объектов, чтобы правки можно было откатить. |
pageblocks_moderation | выкл | Очередь модерации: значок в верхнем меню, виджет дашборда и галочка «Модерация» в конструкторе таблиц. |
pageblocks_hide_templates | ID шаблонов, где вкладка PageBlocks скрыта. | |
pageblocks_hide_parents | ID родителей, где вкладка скрыта. | |
pageblocks_hide_resources | ID ресурсов, где вкладка скрыта. | |
pageblocks_hide_users | ID пользователей, которым вкладка не показывается. | |
pageblocks_hide_user_groups | Группы пользователей, которым вкладка не показывается. |
Отсутствующий pageblocks_routing — это не off
Установка ставит full. Но если ключа в настройках нет вовсе, компонент читает это как routes: маршруты работают, полного API нет. Выключить маршрутизацию можно только явным off.
Модерация меняет таблицы
Настройка сама по себе ничего не модерирует — она открывает галочку «Модерация» в конструкторе таблиц. Отмеченная таблица при сохранении получает колонку moderation_at, и очередь отбирает строки именно по ней. Выключили настройку — в очередь ничего не ставится, колонка у новых таблиц не заводится.
Выключено по умолчанию намеренно: сайту, где всё публикуется сразу, модерация даёт пункт меню, виджет и запрос счётчика на каждой странице менеджера — ради очереди, которая всегда пуста.
Шаблонизатор
| Настройка | По умолчанию | Описание |
|---|---|---|
pageblocks_elements_path | {core_path}App/elements/ | Где лежат файловые чанки и шаблоны. |
pageblocks_fenom_auto_reload | вкл | Перекомпилировать шаблон при изменении исходника. На нагруженном боевом стоит выключить — но тогда не забывать чистить кэш после каждой правки. |
pageblocks_file_elements_only | выкл | Брать шаблоны только из файлов, игнорируя чанки MODX. |
JavaScript
Имена классов, которые фронтовые скрипты вешают на элементы. По умолчанию рассчитаны на Bootstrap 5; проще поменять их под свой фреймворк, чем бороться с ними.
| Настройка | По умолчанию | Описание |
|---|---|---|
pageblocks_load_scripts | вкл | Подключать скрипты компонента на фронте. |
pageblocks_hidden_class | d-none | Класс, скрывающий элемент. |
pageblocks_field_error | is-invalid | Класс поля, не прошедшего валидацию. |
pageblocks_field_msg_error | invalid-feedback | Класс текста ошибки под таким полем. |
pageblocks_msg_error | text-error,text-danger | Классы сообщения об ошибке. |
pageblocks_msg_success | text-success | Классы сообщения об успехе. |
Изображения
Применяются, когда картинка проходит через обработку компонента.
| Настройка | По умолчанию | Описание |
|---|---|---|
pageblocks_image_format | webp | Формат на выходе. |
pageblocks_image_quality | 82 | Качество сжатия. |
pageblocks_image_max_width | 0 | Ужать до этой ширины. 0 — без ограничения. |
Кэш
| Настройка | По умолчанию | Описание |
|---|---|---|
pageblocks_http_cache | выкл | Кэшировать ответы целиком. |
pageblocks_http_cache_ttl | 3600 | Время жизни в секундах. |
Почта
| Настройка | По умолчанию | Описание |
|---|---|---|
pageblocks_admin_email | Адрес, который продолжает получать письма, пока сайт в режиме dev. | |
pageblocks_dev_mail_groups | Administrator | Группы, которые продолжают получать письма в режиме dev. |
Эта пара — предохранитель, а не предпочтение
При pageblocks_site_mode = dev письма уходят только на pageblocks_admin_email и в перечисленные группы; остальные отбрасываются, и факт пишется в лог MODX.
Важнее всего это на копии боевой базы. Тестовая площадка, поднятая из дампа, наследует оттуда prod, предохранитель оказывается выключен, и один прогон крона рассылает письма всем пользователям из таблицы. Залили дамп — первым делом верните режим dev.
API
CORS для REST API. Выключен, пока pageblocks_cors_origins пуст.
| Настройка | По умолчанию | Описание |
|---|---|---|
pageblocks_cors_origins | Разрешённые источники. Пусто — CORS выключен. | |
pageblocks_cors_paths | api/* | Пути, на которые распространяются заголовки. |
pageblocks_cors_methods | GET,POST,PUT,PATCH,DELETE,OPTIONS | Разрешённые методы. |
pageblocks_cors_headers | Authorization,Content-Type,X-Requested-With,X-API-Key | Разрешённые заголовки запроса. |
pageblocks_cors_expose_headers | Заголовки ответа, доступные браузеру. | |
pageblocks_cors_credentials | выкл | Разрешить передачу учётных данных. |
pageblocks_cors_max_age | 86400 | Время жизни preflight-кэша в секундах. |
Блоки
| Настройка | По умолчанию | Описание |
|---|---|---|
pageblocks_block_groups | Группы, по которым раскладываются блоки в конструкторе. |
Безопасность
Заголовки, которые компонент добавляет в ответ. Подробно — Заголовки безопасности.
| Настройка | По умолчанию | Описание |
|---|---|---|
pageblocks_security_headers | вкл | Отправлять заголовки безопасности. Выключает сразу все, включая заполненные ниже. |
pageblocks_security_frame_options | SAMEORIGIN | X-Frame-Options: кто может открыть сайт во фрейме. DENY — никто. |
pageblocks_security_referrer_policy | strict-origin-when-cross-origin | Referrer-Policy: сколько адреса видит чужой сайт при переходе. |
pageblocks_security_permissions_policy | Permissions-Policy: какие возможности браузера запрещены. Пусто — не отправлять: запрет geolocation ломает карты. | |
pageblocks_security_hsts | 0 | Strict-Transport-Security, в секундах. 0 — выключено. Уходит только по https. |
pageblocks_security_csp | Content-Security-Policy: откуда странице разрешено грузить скрипты, стили и картинки. |
Пустое значение означает «этот заголовок не отправлять». Три заполненных работают сразу после установки, потому что не ломают ничего; три пустых требуют осознанного решения.
HSTS и CSP умеют положить рабочий сайт
Браузер запоминает HSTS надолго и обратно по http уже не пустит — включайте, только когда https работает на всём сайте. CSP ломает инлайновые скрипты и сторонние виджеты. Подбирайте на копии, а не на бою.
Карты
Провайдер для поля Карта выбирается один раз на сайт.
| Настройка | По умолчанию | Описание |
|---|---|---|
pageblocks_map_type | leaflet | leaflet — OpenStreetMap, работает без ключа. ymaps — Яндекс.Карты. |
pageblocks_yandex_apikey | Ключ для ymaps, получается на панели разработчика Яндекса. Без него карта останется пустой. |
ReCAPTCHA
Ключи для middleware recaptcha, см. Middleware.
| Настройка | По умолчанию | Описание |
|---|---|---|
pageblocks_recaptcha_service | Google reCAPTCHA | Используемый сервис защиты от спама. |
pageblocks_recaptcha_public_key | Site key, подставляется в форму на фронте. | |
pageblocks_recaptcha_secret_key | Secret key, по нему проверяется токен на сервере. |
Сами настройки ничего не включают: пустой секретный ключ middleware читает как «проверка выключена» и пропускает запрос дальше.
Лицензия
Заполнять здесь нужно одно поле. Остальные компонент ведёт сам — см. Редакции.
| Настройка | По умолчанию | Описание |
|---|---|---|
pageblocks_license_api_key | Ключ из письма о покупке. Вставьте его, и компонент получит лицензию на текущий домен — называть домен при покупке не нужно. | |
pageblocks_license_key | Заполняется сам: выданный лицензионный ключ вида PB1.xxx.yyy. | |
pageblocks_license_server | https://boshnik.com/… | Адрес выдачи лицензий. Менять только если попросил продавец. |
pageblocks_license_try | Служебное, заполняется автоматически. | |
pageblocks_license_state | Служебное, заполняется автоматически. |
Перевода здесь нет
Ключи API, модели и промпты для машинного перевода — не системные настройки. Каждый переводчик это строка со своим ключом и моделью, см. Переводчики.