Программное добавление термина в новую ноду

Главные вкладки

Аватар пользователя xakudu xakudu 18 сентября 2018 в 19:25

Программного создаем ноду через node_save(), формируем массив $node, всё ок.
Но нужно запихнуть ноду в термин таксономии. У нас для этого условно поле field_termin и есть номер термина $tid.
И как корректно добавить термин в ноду, если мы не знаем языка. Ибо все что встречал это условное

<?php 
$node
->field_termin['und'][0]['tid'] =  $tid
?>

А как правильно добавлять? В 6-ке помнится работали простые

<?php 
$node
->taxonomy =  $tid
?>

Но здесь как я понимаю такое работать не будет.

Лучший ответ

Аватар пользователя xakudu xakudu 18 сентября 2018 в 20:38

bumble wrote:

с нее взять поля языка и сунуть термину.

Да не хотелось явно язык указывать, но да ладно, тогда так оставим.
В идеале бы вообще, не зная имени поля, по $tid узнавать его - но как достать из поля, к какому словарю он привязан - та ещё задача.

Комментарии

Аватар пользователя xakudu xakudu 18 сентября 2018 в 20:01

Нет, так не пойдет. Саму ноду не мы создаем, так что node_save не поменять. Мы формируем корректный $node

Аватар пользователя xakudu xakudu 18 сентября 2018 в 20:35

Нода создается в этот момент. Нам надо наполнить её лишними данными. Ноду создаем не мы, и записываем не мы, мы лишь добавляем в неё при создании. Но сам доступ к $node есть. А самой ноды ещё нет. )))

Аватар пользователя xakudu xakudu 18 сентября 2018 в 20:38

bumble wrote:

с нее взять поля языка и сунуть термину.

Да не хотелось явно язык указывать, но да ладно, тогда так оставим.
В идеале бы вообще, не зная имени поля, по $tid узнавать его - но как достать из поля, к какому словарю он привязан - та ещё задача.