Я пытаюсь вставить значения для поля узла из пользовательского модуля. Значение будет вставлено только из этого модуля, и тогда никакая операция для этого узла не будет выполнена, поэтому ловушка не в моем рассмотрении. Я пытался напрямую вставить значения в таблицы field_data _... и field_revision _... но я обнаружил, что drupal также сохраняет значения (сериализованные) в таблицах field_config и field_config_instance как blob. так как я только вставляю значения в две таблицы, drupal не читает значения, которые я вставил для узлов. Я не мог понять сериализацию, хранящуюся в БД. поэтому я ищу метод, который поможет мне вставить значения через API или любым другим аккуратным способом.
любая помощь в том, что я пытаюсь сделать, была бы великолепна. Спасибо
EDIT:
посмотрев на сериализованное содержимое таблицы field_config, я понял, что сериализованные данные - это просто конфигурация поля и вставляются в таблицу при первом сохранении. Моя проблема была решена путем сохранения первого значения через admin / content, и теперь мои прямые вставленные в БД данные доступны узлу. это сериализованные данные, которые я получил:
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";
}