Словари таксономии. Вывод в ноде. (решено)
Прислано: 100kd
чт, 24/04/2008 - 10:10
Имеется два словаря, один отвечает за категории к материалам, другой за мета тэги.
Как отдельно выводить "категорию" и "тэги" в ноде? Чтобы вот так выглядело:

- 100kd's blog
- Для комментирования войдите или зарегистрируйтесь
penexe, спасибо большое.
- Для комментирования войдите или зарегистрируйтесь
В общем использую функцию, по ссылке.
Как я уже говорил, у меня два словаря "Категории" и "Тэги". Соответственно функцию изменяю под себя:
... $variables['категории'] = theme('links', $term_links); $variables['тэги'] = theme('links', $tag_links); ...
Функция полностью:
function _phptemplate_variables($hook, $vars) { $variables = array(); if ($hook == 'node') { if (module_exists('taxonomy')) { foreach (taxonomy_get_vocabularies($vars['node']->type) as $vid=>$vocab) { foreach (taxonomy_node_get_terms_by_vocabulary($vars['node']->nid, $vid) as $term) { if ($vocab->tags) { $tag_links['tag_link-'. $term->tid] = array( 'title' => $term->name, 'href' => taxonomy_term_path($term), 'attributes' => array('rel' => 'tag','title' => strip_tags($term->description)), ); } else { $term_links['term_link-'. $term->tid] = array( 'title' => $term->name, 'href' => taxonomy_term_path($term), 'attributes' => array('rel' => 'tag','title' => strip_tags($term->description)), ); } } } } else { $term_links = array(); $tag_links = array(); } $variables['категории'] = theme('links', $term_links); $variables['тэги'] = theme('links', $tag_links); } return $variables; }
Затем, в ноде вывожу ссылку на категорию и ряд тэгов, посредством
print $variables['категории'];
print $variables['категории'];
Теперь проблема с выводом решена. Но вот встает новая проблема - выводимые ссылки имеют отступы и выводяться списками, которые могут исказить дизайн, т.к имеют отступы. Отступы убираю посредством изменения стиля для класса links, в моем случае так:
ul.links { margin: 0; padding: 0; list-style: none; display: inline; }
- Для комментирования войдите или зарегистрируйтесь


Комментарии