Нашла на http://www.drupalka.ru/node/32
сниппет который выводит список связанных терминов.
Работает.
Но не могу понять, как вывести связанные термины не всех словарей, а только словаря 2, например.
Что надо добавить в этот сниппет?
<?php
if (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2)) && is_null(arg(3))) {
$tid = (int)arg(2);
$result = db_query(db_rewrite_sql('SELECT tid, name FROM {term_relation} INNER JOIN {term_data} ON (tid1 = tid OR tid2 = tid) WHERE (tid1 = %d OR tid2 = %d) AND tid != %d ORDER BY weight, name', '{term_relation}', 'tid'), $tid, $tid, $tid);
$output = '';
while ($term = db_fetch_object($result))
{
$output .= ((!empty($output)) ? ', '/* <- В этом месте(в одинарных кавычках) вписываем символ или тег, которым будут разделяться выводимые термины( в примере это запятая. Можно, к примеру, заменить запятую HTML-тегом <br />, что-бы вывести список «столбиком».)*/ : '') . l($term->name, "taxonomy/term/$term->tid");
}
return $output;
}
?>
Комментарии
term_data.vid = 2
Спасибо!
Но если заменить
<?phpINNER JOIN {term_data}?>
на<?phpINNER JOIN {term_data.vid = 2}?>
то страница вообще перестает отображаться. Может быть я Вас не так поняла?
SELECT tid, name FROM {term_relation}
INNER JOIN {term_data} ON (tid1 = tid OR tid2 = tid) AND vid = 2
WHERE (tid1 = %d OR tid2 = %d)