Программно получить значения полей ссылки на термин (Drupal 7) - PullRequest
2 голосов
/ 03 апреля 2012

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

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

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

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

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

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

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

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

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

Edit: Я попытался с помощью функции: field_get_items () , но все, что я получаю, это массив:

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

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

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

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

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

0 голосов
/ 04 апреля 2012

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

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

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