web-dev-qa-db-ja.com

本文フィールドの言語がノードと同じ言語として保存されないのはなぜですか?

ユーザーが新しいノードを作成して本文を入力しているときに、ノードを言語に対して「ニュートラル」に設定すると問題が発生します。しかし、ノードを保存すると、本文フィールドの言語は英語に設定されます。なぜこれが起こっているのでしょうか?何が原因でしょうか?

このサイトでは、英語とフランス語の両方を有効にして構成しています。このサイトはi7nを実行しているD7です。

これは ノード編集ページの空のボディ に似ていますが、フィールドが最初のノードとは異なる言語を取得する方法を知りたいという点が異なります。

9
Patrick

デフォルトでは、drupalは 'und'をフィールド言語、つまりLANGUAGE_NONEに設定します。したがって、print_r($node)を実行すると、$node->field_name['und'][0]['value']のようなフィールドが表示されます

このフィールドで翻訳を有効にすると、「und」が言語コードに置き換えられ、どういうわけか$node構造は$node->field_name['en'][0]['value']のようになります。ここで、「en」は言語コードです。本文フィールドには、言語として「en」が含まれ、レンダリング時に空ではなくなります。

上記の質問について:

ユーザーが新しいノードを作成して本文を入力しているときに、ノードを言語に対して「ニュートラル」に設定すると問題が発生します。しかし、ノードを保存すると、本文フィールドの言語は英語に設定されます。なぜこれが起こっているのでしょうか?何が原因でしょうか?

サイトのデフォルトの言語を確認します。英語に設定されている場合は、おそらく言語中立でサイトのデフォルトの言語が使用されます。

4
gauravjeet