Персональная страница shra, блог фриленсера, веб-разработчика на PHP. Здесь я делюсь своим опытом и мыслями, провожу опыты над людьми, собираю нематериальные свидетельства собственной глупости. Используя примеры программного кода с данного сайта, вы принимаете всю ответственность за возможные последствия их использования, включая ваше психическое здоровье и интересы третьих лиц.
Браузер сообщает об ошибке всплывающим окном вроде того, что на скриншоте. Сообщается, что AJAX завершен неправильно. Но основной симптом — что не работают вообще какие либо транзакции, связанные с работой с формами.
А в логах Drupal вы видите загадочное сообщение — «неверные POST данные формы».
Причины могут быть различные и решения соответственно тоже.
Если не работает форма, связанная с каким то одним объектом, например, редактор недавно созданного представления (объекта модуля views), или редактора нового типа публикации, то поможет удаление и создание объекта с нуля.
Если проблема связана с ошибкой генерации URL сайта — инициализации глобальной переменной $base_url, то можно попытаться установить значение этой переменной в settings.php. Там есть соответствующий блок, посвященный этой переменной.
Если не работают вообще все формы (отправка данных, взаимодействие компонентов через ajax, загрузка картинок, новых элементов формы и т.п.), то проблема скорее всего связана с таблицей кеша форм. Очистите таблицу и/или почините её через доступный вам инструмент работы с базой данных.
Небольшой сниппет (snippet) по удалению сущностей nodequeue из кода. Может быть полезно при миграции данных.
Удобно оперировать с машинным именем нод-кью, но функция удаления требует ID, потому код обычно обретает следующие формы:
[crayon-69d0d8441bbad502491687/] ...
При возникновении ошибок, во время проверки формы друпал выполняет две вещи, которые отражаются на фронт-энд - добавляет сообщение об ошибке в стек сообщений и маркирует классом error поле, содержащее ошибку.
Если форма находится далеко от места вывода ...
Модуль Config Pages позволяет создавать страницы конфигурации для вашего модуля, всего сайта, или может быть просто одного из разделов сайта. Потом эти значения можно читать из программы и использовать так, как вам требуется. Но API Config Pages не содержит ...
У меня эта задача возникла при работе с формами, где формы содержат поля '#entity' и '#entity_type'. Нужно было найти универсальный способ прочитать ID объекта, т.к. для каждого объекта имя этого поля может отличаться (для node - nid, для file - fid и ...