Программно получить значения поля ссылки на термин (Drupal 7)

Как я могу получить список всех выбранных значений для поля?

Например, у меня есть поле под названием «Страны», и я хочу, чтобы все страны были выбраны для определенного узла.

Мне нужно иметь этот список, потому что я хочу, чтобы регион автоматически выбирался в другом поле (регионах), в соответствии с выбранной страной.

Пример: я выбираю Францию ​​в странах, затем автоматически выбирается европейский регион в регионах.

Пока я могу только скопировать выбранные значения в поле «страны», в поле «регионы», сделав это:

$node->field_regions = $node->field_countries;

Вот результат, когда я выбираю Францию ​​в поле страны:

Страна: Франция

Регионы: Франция

Правка: я пробовал с функцией:field_get_items(), но все, что я получаю, это массив:

$items = field_get_items('node', $node, 'field_countries', $node->language);

Что-то не так? Я также пробовал с этим, но я получаю тот же результат...

$items = $node->field_countries[$node->language][0]

person Kr1    schedule 02.04.2012    source источник


Ответы (2)


Похоже, field_get_items() может быть что ты ищешь.

person Mikey P    schedule 02.04.2012
comment
Спасибо за ответ, он помог мне в моих поисках. Я попробовал функцию field_get_items(), но все, что я получаю, это массив. - person Kr1; 03.04.2012

Благодаря другому форуму мне удалось решить мою проблему.

Вот как читать содержимое моих стран поля:

foreach ($node->field_countries[$node->language] as $item) { 
    // Country id in Countries vocabulary
    $countryId = $item['tid'];
}
person Kr1    schedule 03.04.2012