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