Drupal 7のサービスモジュールに問題があるようです。たとえば、ノード作成リソースを使用してノードを送信すると、カスタムフィールドでも問題なくノードを作成できますが、問題は用語参照フィールド、値がそれらに到達することはありません。以下に例を示します。
var nodeCust={
node:{
title: 'undefined test 1',
type:'noticia',
name: 'admin',
body: {
und: [
{value:'sdasdasd', format:'full_html'}
]
},
field_custom:{
und:[ {value: 'test placeholder'} ]
},
field_theterm:{
und:[ {tid:"1"} ]
}
}
};
これは私がJSONで送信するオブジェクトであり、本文には値、タイトル、カスタムフィールドも含まれていますが、「theterm」フィールドはこのコンテンツタイプの用語参照フィールドであり、決してその値を取得しません:o(、すべてのウィジェット、オートコンプリート、リストなどを試してみましたが、これはRESTサービスコールw/JSONであるため、実際には影響しません。
誰かアイデアはありますか?ありがとう
ノードを作成および更新するためのリソースメソッドはフォーム送信の薄いラッパーであるため、APIを介して送信するものの構造は、通常のノードフォームを介して送信するデータの構造と同じである必要があります。検証やほとんどのエラーでさえ、フォームハンドラーから発生します。
だから私の提案は、フォームがどのようにデータを送信するかを見るということです。それがおそらく答えを見つける場所だからです。
私は、ノードオブジェクトをJSONとしてフォーマットする方法を理解するのと同様の問題を抱えています。奇妙なことに、たとえば、配列表記なしでtidを渡す必要があるようです。
{"title": "my title"、 "type": "my_type"、 "field_my_field_type":{"und":{"tid": "49"}}}
undの前後に角かっこがないことに注意してください。bodyなどの他のすべてのフィールドで角かっこを使用してフォーマットする必要があるため、これが機能する理由がわかりません。また、ポスター(Firefox用)を使用して投稿する場合と、アプリに同じJSON文字列を投稿する場合とでは、結果が異なります。これがわかったら教えてください。