Частые вопросы
Обновлено
Почему после установки нет панели на сайте?
Приложение предоставляет хелперы и маршруты, но не вставляет панель в произвольную тему. Нужна панель, интегрированная разработчиком темы. В самом приложении доступны «Справка», «Настройки», «Черновики» и ссылка «Редактор дизайна».
Нужно ли включать демо-режим для чтения настроек на странице?
Нет. getThemeSettings читает постоянные настройки без административных прав и без включённого демо. Демо-режим нужен посетителю для работы с собственным предпросмотром.
Почему getThemeSettings возвращает пустой массив?
Проверьте идентификатор темы и приложение во втором аргументе. По умолчанию читается тема «Сайта». Неверные идентификаторы или ошибка чтения приводят к пустому массиву; ошибка чтения записывается в themesettings.log.
Почему изменения предпросмотра не видны через getThemeSettings?
Этот метод читает постоянные значения. Черновик читает getSettings($theme_id). Тема должна использовать его результат при выводе. Проверьте также, что чтение происходит в той же сессии браузера, черновик ещё не просрочен и есть право предпросмотра.
Почему администратор приложения не может сохранить тему?
Для сохранения рабочей темы нужны права администратора «Сайта». Права администратора «Настроек шаблонов» позволяют управлять демо-режимом и удалять все записи черновиков, но не заменяют права на «Сайт».
Почему посетителю запрещено менять HTML?
Изменённые посетителем значения с HTML-тегами или протоколами javascript:, data:, file: отклоняются. Сохранённый в теме неизменённый HTML не мешает отправке полной формы. Проверка HTML посетителя не применяется к администратору «Сайта».
Почему настройки родителя не изменяются через панель дочерней темы?
Наследуемые настройки доступны только для чтения. Они исключаются из изменений, а загрузка изображения родителя возвращает ошибку. Для изменения родительской темы работайте с ней отдельно. При чтении одноимённых ключей родительское значение имеет приоритет.
Почему черновик исчез или не виден в другом браузере?
Черновик связан с сессией, а не с учётной записью. В другой сессии он недоступен. Через 24 часа после последней записи он перестаёт читаться. Также его могли сбросить через панель, удалить общей очисткой или применить к рабочей теме. Выключенный демо-режим закрывает посетителю доступ к черновику без его немедленного удаления.
Что делать при ошибке max_input_vars?
PHP мог обрезать большую форму. Приложение отклоняет запрос около серверного порога без записи. Разработчик может передавать только изменения относительно сохранённой темы, а администратор сервера — увеличить max_input_vars с запасом. После ошибки панель должна показать её, а не перезагружать страницу как при успехе.
Почему не загружается картинка или приходит HTTP 429?
Для новых изображений поддерживаются JPEG/PNG/GIF до 2 МиБ и 20 миллионов пикселей; нужен рабочий GD или Imagick. Проверьте также квоту 20 файлов на сессию и запрет загрузки в поле родителя. Заменённые картинки могут занимать квоту до очистки. HTTP 429 означает превышение общего предела 30 запросов предпросмотра и сброса за скользящую минуту: дождитесь освобождения лимита.
Почему после удаления всех черновиков остались изображения?
Кнопка «Удалить черновики» очищает записи базы данных. Немедленного удаления файлов этот обработчик не выполняет. Просроченные каталоги загрузок удаляются отложенной очисткой при последующих операциях приложения. Сброс своей темы через панель удаляет её запись и каталог загрузок сразу.
Как исправить ошибку CSRF или истёкшую сессию?
В бэкенде обновите страницу и при необходимости войдите снова. Разработчику анонимной панели нужно вызвать хелпер до {$wa->csrf()} либо получить токен через token/, сохранить cookies и передавать совпадающий токен в каждом POST. Токен не заменяет права администратора «Сайта» для сохранения темы.