Привет всем! Очень надеюсь на вашу помощь. Значит проблема вот в чем. Я создал нод(узел), которые все свои данные, введенные в форму, преобразует в JSON c помощью json_encode() и сохраняет в виде строки в базу.
Далее в коде вывода нода, я пытаюсь получить данные из JSON - не получается.
/**
* Implementation of hook_load().
*/
function newroom_load($node) {
$result = db_query('SELECT rooms FROM {newroom} WHERE id = %d',3);
return db_fetch_object($result);
}
/**
* Implementation of hook_view().
*/
function newroom_view($node, $teaser = FALSE, $page = FALSE) {
$node = node_prepare($node, $teaser); // get it ready for display
$room = check_plain($node->rooms);
drupal_set_message(t($room)); // выводит {"title":"Wert","lengthin":"23","widthin":"23","lengthpix":"400","widthpix":"200"}
$obj = json_decode($room);
$title = $obj->title;
$lengthpix = $obj->lengthpix;
$widthpix = $obj->widthpix;
$node->content['newroom_info'] = array(
'#value' => theme('newroom_info', $title, $lengthpix, $widthpix),
'#weight' => 1,
);
return $node;
}
Данный код не работает. А вот если я напрямую введу $obj = json_decode('{"title":"Wert","lengthin":"23","widthin":"23","lengthpix":"400","widthpix":"200"}'); - так работает. Как мне кажется, проблема не в самом преобразовании, а в том, что $room = check_plain($node->rooms) - возвращает не совсем корректные данные.
Помогите решить проблему.