カスタムモジュールからノードフィールドの値を挿入しようとしています。値はそのモジュールからのみ挿入され、そのノードに対する操作は実行されないので、フックは考慮されません。私はfield_data _...とfield_revision _...テーブルに直接値を挿入しようとしました。 drupalはfield_configおよびfield_config_instanceテーブルの値をblobとして保存することも判明しました。私は2つのテーブルに値を挿入しているだけなので、drupalはノードに挿入した値を読み取っていません。私はDBに格納されているシリアライゼーションを理解できませんでした。だから私はAPIやその他のきちんとした方法で値を挿入するのに役立つメソッドを探しています。drupalでノードフィールドの値をプログラムで挿入7
私が達成しようとしていることについての助けは素晴らしいでしょう。ありがとうございました
編集: field_configテーブルのシリアル化された内容を見てから私はシリアル化されたデータはフィールドの設定であり、最初の保存時にテーブルに挿入されることを理解しました。私の問題はadmin/contentを介して最初の値を保存することで解決されました。そして、私の直接DB挿入されたデータはノードで利用可能になりました。これは私が持っているシリアライズされたデータです:
a:7:
{s:12:"translatable";
s:1:"0";
s:12:"entity_types";
a:0:{}
s:8:"settings";
a:3:
{s:9:"precision";
s:2:"10";s:5:"scale";
s:1:"2";
s:17:"decimal_separator";
s:1:",";
}
s:7:"storage";
a:5:
{s:4:"type";
s:17:"field_sql_storage";
s:8:"settings";
a:0:{}
s:6:"module";
s:17:"field_sql_storage";
s:6:"active";
s:1:"1";
s:7:"details";
a:1:
{s:3:"sql";
a:2:
{s:18:"FIELD_LOAD_CURRENT";
a:1:
{s:22:"field_data_field_total";
a:1:
{s:5:"value";
s:17:"field_total_value";
}
}
s:19:"FIELD_LOAD_REVISION";
a:1:
{s:26:"field_revision_field_total";
a:1:
{s:5:"value";
s:17:"field_total_value";
}
}
}
}
}
s:12:"foreign keys";
a:0:{}
s:7:"indexes";
a:0:{}
s:2:"id";
s:2:"34";
}
私はポストで言及したように、直接DB挿入だけ、他の何も。 – vatzcar
ご覧いただけるコードはありますか? – SpaceBeers
実際に問題は解決されています。私は投稿を編集し、その詳細を与えました。 SpaceBeersありがとうございます。 – vatzcar