Персональная страница shra, блог фриленсера, веб-разработчика на PHP. Здесь я делюсь своим опытом и мыслями, провожу опыты над людьми, собираю нематериальные свидетельства собственной глупости. Используя примеры программного кода с данного сайта, вы принимаете всю ответственность за возможные последствия их использования, включая ваше психическое здоровье и интересы третьих лиц.
Браузер сообщает об ошибке всплывающим окном вроде того, что на скриншоте. Сообщается, что AJAX завершен неправильно. Но основной симптом — что не работают вообще какие либо транзакции, связанные с работой с формами.
А в логах Drupal вы видите загадочное сообщение — «неверные POST данные формы».
Причины могут быть различные и решения соответственно тоже.
Если не работает форма, связанная с каким то одним объектом, например, редактор недавно созданного представления (объекта модуля views), или редактора нового типа публикации, то поможет удаление и создание объекта с нуля.
Если проблема связана с ошибкой генерации URL сайта — инициализации глобальной переменной $base_url, то можно попытаться установить значение этой переменной в settings.php. Там есть соответствующий блок, посвященный этой переменной.
Если не работают вообще все формы (отправка данных, взаимодействие компонентов через ajax, загрузка картинок, новых элементов формы и т.п.), то проблема скорее всего связана с таблицей кеша форм. Очистите таблицу и/или почините её через доступный вам инструмент работы с базой данных.
Theme API к сожалению не даёт прямого метода, чтобы прочитать это значение. Как его получить?
Иногда программно нужно установить, что именно видит пользователь на фронт-енд (какую тему использует движок).
Необходимость возникает из-за того, ...
В bootstrap корневой пункт меню с подпунктами (dropdown menu) не является активной ссылкой и лишь служит кнопкой для развертывания подпунктов. Тем временем ...
Небольшой сниппет (snippet) по удалению сущностей nodequeue из кода. Может быть полезно при миграции данных.
Удобно оперировать с машинным именем нод-кью, но функция удаления требует ID, потому код обычно обретает следующие формы:
[crayon-693541f9cab6a388757162/] ...
Можно использовать анализ адреса хранимый Drupal в $_GET['q'] и/или анализ частей адреса, получаемых функцией arg(N).
Оба варианта по сути делают одно и тоже - анализ внутреннего адреса, который для публикации имеет вид: node/%NID%.
Я использую функцию ...