Программного создаем ноду через node_save(), формируем массив $node, всё ок.
Но нужно запихнуть ноду в термин таксономии. У нас для этого условно поле field_termin и есть номер термина $tid.
И как корректно добавить термин в ноду, если мы не знаем языка. Ибо все что встречал это условное
<?php
$node->field_termin['und'][0]['tid'] = $tid;
?>
А как правильно добавлять? В 6-ке помнится работали простые
<?php
$node->taxonomy = $tid;
?>
Но здесь как я понимаю такое работать не будет.
Комментарии
<?php
$node->field_termin['und'][0]['target_id'] = $tid;
?>
В чем разница то? Und как был так и есть
Можете на LANGUAGE_NONE заменить, только это пофигу
https://api.drupal.org/api/drupal/includes%21bootstrap.inc/constant/LANG...
Цель уйти от явного указания языка. Да и какая разница то, это ж то же самое LANGUAGE_NONE это 'und'
https://www.drupal.org/docs/7/api/entity-api/entity-metadata-wrappers#ge...
У нас ещё ноды нет, что во враппер пихать? Везде в примерах работа с существующей нодой
entity_create('node', ['type' => 'article]);
Нет, так не пойдет. Саму ноду не мы создаем, так что node_save не поменять. Мы формируем корректный $node
Так есть доступ к ноде вообще?
Если нода уже создана - с нее взять поля языка и сунуть термину.
Нода создается в этот момент. Нам надо наполнить её лишними данными. Ноду создаем не мы, и записываем не мы, мы лишь добавляем в неё при создании. Но сам доступ к $node есть. А самой ноды ещё нет. )))
Да не хотелось явно язык указывать, но да ладно, тогда так оставим.
В идеале бы вообще, не зная имени поля, по $tid узнавать его - но как достать из поля, к какому словарю он привязан - та ещё задача.