Обработка полей таксономии в drupal7 - PullRequest
0 голосов
/ 14 февраля 2011

Система таксономии сильно изменилась со времени Drupal 6. Как лучше всего получить все идентификаторы терминов таксономии, связанные с одним узлом в Drupal 7?

Ответы [ 3 ]

3 голосов
/ 14 февраля 2011
$node = node_load($nid);
$terms = field_view_field('node', $node, 'field_tags', array('default'));
0 голосов
/ 14 февраля 2011

Таблица field_data_field_tags охватывает только поле тегов по умолчанию, которое может существовать или не существовать, и у вас могут быть и другие таксономии.

Однако, taxonomy.module по-прежнему поддерживает таблицы taxonomy_term_data / taxonomy_index, к которым вы можете обратиться:

SELECT tid FROM {taxonomy_index} WHERE nid = :nid

Или, если вам нужен конкретный идентификатор словаря:

SELECT ti.tid FROM {taxonomy_index} ti INNER JOIN {taxonomy_term_data} ttd ON ttd.tid = ti.tid WHERE ti.nid = :nid AND vid = :vid

Полностью не проверено.

0 голосов
/ 14 февраля 2011

Где вы хотите получить эти условия?В модуле тема ...?

Вы смотрели на: http://api.drupal.org/api/drupal/modules--taxonomy--taxonomy.module

...