Всем привет!
С программным созданием нод более-менее разобрался.
Все бы хорошо, но возникла необходимость использовать в создаваемых нодах киррилицу и тут столкнулся с весьма странной проблемой:
1) Поле body с английским текстом нормально создается только если использовать LANGUAGE_NONE, а если заменить его на 'en', то поле body остается пустым. Body у меня необязательное поле.
2) При попытках использовать в body код 'ru' и кирриллицу в теле ноды или в заголовке выводится ошибка
"На сайте произошла непредвиденная ошибка. Пожалуйста, повторите попытку позже."
Модуль Locale установлен, код русского языка - 'ru'.
Ноды программно создаются с помощью модуля с кодом
$items['nodeadd'] = array (
'title' => 'Nodeadd!',
'page callback' => 'nodepost_node_add',
'access arguments' => array('create post content'),
'type' => MENU_CALLBACK,
);
return $items;
}
function nodepost_node_add() {
$node = new stdClass;
$node->type = 'type';
$node->title = 'Title';
$node->language = 'ru';
$node->body[LANGUAGE_NONE][0]['value'] = 'Body text';
$node->uid = $user->uid;
node_object_prepare($node);
node_save($node);
drupal_goto("node/$node->nid");
}
Подскажите, в чем может быть причина и куда копать? Спасибо.
Комментарии
поставь девел и посмотри какие у тебя массивы.
я делал так: $node->field_body['und'][0]['value']='текст';
Так, поставил, посмотрел:
body (Array, 1 element)
У меня
выводит все ту же ошибку
Включил ошибки
Выдает
PDOException: в функции field_sql_storage_field_storage_write()...
Осталось догуглить
Гуглил-гуглил, но что-то адекватного решения так и не нашел
Подскажите кто знает?
Для создания ноды у меня отдельный модуль.
Решил проблему невероятно просто - сохранил файл name.module в utf8 и все заработало))
святой иссуси, восьмое чудо света
Вообще все что делается в друпал, все должно делать в UTF8 without ВОМ.