Quantcast
Channel: Drupal в рунете - программирование
Viewing all articles
Browse latest Browse all 40

Ахтунг! Тщательно замаскированные грабли с dpm() и #element_validate

$
0
0

Несколько дней назад я дописал свой модуль под Field API, который реализует некое поле с неочевидной логикой. Всё, вроде бы, работает нормально, но... При предпросмотре ноды перед её сохранением не выводится полное содержание ноды, хотя анонс - выводится нормально, да и после сохранения всё прекрасно показывается.

Ну, думаю - где-то в коде накосячил. Обтыкал все подозрительные места вызовами dpm() в добавок к имеющимся, и следующие три дня тупо втыкал в выводимые портянки переменных. Разумеется, нигде никаких ошибок, всё везде правильно и должно работать, но... не работает. Я уж и системные модули изучил вдоль и поперёк, и каждую строчку своего модуля перепроверил - не выводится полное содержание ноды после анонса, и всё тут.

С горя сегодня начал комментить код "широкими мазками". Быстро выяснилось, что при отключении у виджета свойства #element_validate превью ноды начинает работать, как положено. Ага, сказал я, вот где собака порылась! Отключил в callback функции все изменения переменных - не работает. Отключил в ней вообще всю логику - не работает! Блин, отключил в ней вообще всё, кроме вызова dpm() - не работает!!! 8-( ]

И только закомментарив последнюю строчку с вызовом dpm() я понял, что же было причиной моих трёхдневных мучений! :-))

Перефразируя известный анекдот: "Отладка показала, что модуль не работал из-за отладки".

Shit happens...


Viewing all articles
Browse latest Browse all 40

Trending Articles