Drupal: Как узнать тип tid (термин id)? - PullRequest
0 голосов
/ 17 июля 2009

Мне нужно знать тип tid в таблице term_data. Например, я хочу знать, является ли этот шаблон типом модуля ed-adss?

Это мой запрос сейчас, который не на 100% правильный

# get all the parent categories for the ed classifieds
SELECT th.tid, td.name, n.type
FROM term_hierarchy th 
LEFT JOIN term_data td ON th.tid = td.tid 
LEFT JOIN term_node tn ON tn.tid = td.tid 
LEFT JOIN node n ON n.nid = tn.nid
WHERE th.parent = '0' 
#AND n.type = 'ed_classified' 
GROUP BY th.tid

Заранее спасибо

Ответы [ 2 ]

7 голосов
/ 17 июля 2009

Здесь может быть немного путаницы. Сами термины - это просто плавающие объекты, такие как бесплатные теги или категории. Их можно сгруппировать в «словари» - идентификатор словаря хранится в столбце «vid» таблицы term_data.

«Тип узла», который вы выводите в этом запросе, является типом содержимого узла, помеченного термином таксономии. Этот тип не присущ самому термину - данный термин может использоваться для обозначения множества различных типов контента одновременно. Термин может принадлежать только одному словарному номеру , однако.

3 голосов
/ 20 июля 2009

В дополнение к тому, что сказал eaton (и, как обычно, правильно), обратите внимание, что term_node присоединяется к узлу с помощью nid + vid, а не только с помощью nid: термины зависят от редакции начиная с Drupal 6.

Таким образом, ваше последнее соединение должно быть n.vid = tn.vid вместо n.nid = tn.nid

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...