Проблема с заполнением виджета текстового поля при выполнении node.create через службу с использованием сервера Rest (Drupal 7)


У меня есть сервер Rest, работающий с использованием модуля служб, который настроен для приема запросов узлов и пользователей. Я также создал новый тип контента со следующими полями:

enter image description here

Я могу добавлять новые экземпляры этого типа контента, используя Poster (плагин Firefox для создания запросов http-post), используя http-сообщение на мой сервер rest со следующим телом (с использованием типа контента application/json):

{
  "title":"online submission",
  "type":"basic_content",
  "field_text":[
    {
      "value":"Some Text"
    }
  ]
}

Я перепробовал много разных варианты этой строки json (в том числе сделать все это одной строкой), и кажется, что она никогда не заполняет текстовое поле. Может ли кто-нибудь пролить свет на это? Я готов использовать другой тип контента, если это необходимо.

Author: Mike2012, 2012-02-08

1 answers

Значения полей должны быть окружены массивом, который содержит все потенциально множественные записи для поля, и еще одним массивом, который содержит все потенциальные переводы для поля.

В PHP это выглядит примерно так:

$node->field_text['und'][0]['value'] = 'Some Text';

Я не проверял это, но я бы предположил, что эквивалент JSON будет примерно таким:

"field_text":
{
  "und": 
  [
    { "value": "Some Text" }
  ]
}

Это может потребовать небольшой настройки.

 1
Author: Clive, 2012-02-08 18:14:40