Решил сделать характеристики товара на основе таксономии...
Структура такая:
Характеристики (это словарь)
- цвет (это термин)
- - белый (это суб-термин)
- - красный (это суб-термин)
- поверхность (это термин)
- - глянцевая (это суб-термин)
- - матовая (это суб-термин)
С помощью Hierarchical Select и его функции добавления (dropbox) я назначаю термины в товаре.
Например: цвет -> белый; поверность -> матовая
А дальше не знаю как сделать вывод в node-product.tpl.php так, что бы было нечто похожее на список характеристик:
Цвет: белый
Поверность: матовая
Пробовал адаптировать это:
<?php
$my_terms_output = '';
foreach ($node->taxonomy as $item) {
if ( $item->vid == 16 ) {
$my_terms_output .= '<li>'. $item->name .'</li>';
}
}
$my_terms_output = $my_terms_output ? '<ul>'. $my_terms_output. '</ul>' : '';
print $my_terms_output;
?>
Но, к сожалению не знаю как внедрить туда указатель на суб-термины словаря.
Потом нашел это:
<?php
$parent = 56;
$result = db_query('
SELECT td.tid, td.name
FROM {term_hierarchy} th
INNER JOIN {term_data} td
ON td.tid = th.tid
WHERE th.parent = %d
ORDER BY td.weight ASC, td.name ASC', $parent);
$terms = array();
while ($term = db_fetch_object($result)) {
$terms[] = $term->name;
}
print count($terms) ? theme('item_list', $terms) : 'Oooops';
?>
Значения термина видит, но выводит даже те суб-термины, что я не назначал (все что есть).