Вообще, это плохая практика - размещать PHP-код в полях представления. Во первых, такой код выполняется медленнее, во вторых - до него трудно добраться, нет проверки синтаксиса в редакторе, а самое главное: отсутствуют информативные сообщения об ошибках.
Если в код поля PHP в представлении закрадется ошибка, то в журнале Друпала вы увидите что-то вроде:
Creating default object from empty value
в файле /home/.../public_html/sites/all/modules/views_customfield/includes
/views_customfield_handler_field_phpcode.inc(118) : eval()'d code в строке 3.
"В строке 3". И все. А где искать эту строку?
Посмотрим, как интерпретируется код поля PHP.
Никакого логгирования почему-то не предусмотрено. Исправим ..
Будем записывать код перед выполнением в журнал:
function eval_phpcode($code, &$static, $data) {
ob_start();
watchdog('debug', '<pre>' . print_r($code, true) . '</pre>');
print eval('?>'. $code);
return ob_get_clean();
}
Тогда, перед непонятной строкой об ошибке мы увидим код, который ее вызывает. Остается его найти. Зная искомый текст - это леко сделать SQL-запросом к базе данных, например через phpmyadmin.
Не забудьте вернуть после отладки измененный код модуля в views_customfield_handler_field_phpcode.inc в исходное состояние.