Узнать Vocubulary ID Drupal 7
Дата публикации 07/01/14 - 15:35
taxonomy_vocabulary_machine_name_load('my_vocabulary');
Данный код показывает ID вашего словаря. Выводит этот код можно в шаблонах вашей темы либо в кастомном модуле.
drupal_set_message(taxonomy_vocabulary_machine_name_load('my_vocabulary');
После того как вы узнали ID словаря, обычно у всех возникает следующий вопрос: "А как вывести все термины этого словаря?". Делается это при помощи функции taxonomy_get_tree($vid, $parent = 0, $max_depth = NULL, $load_entities = FALSE)
:
$items = array();
$terms = taxonomy_get_tree(3); // vocabulary id
$term_count = count($terms);
for ($i = 0; $i < $term_count; $i++) {
$items[] = l($terms[$i]->name, 'taxonomy/term/' . $terms[$i]->tid);
}
print theme('item_list', array('items' => $items));
$terms = taxonomy_get_tree(3); // vocabulary id
$term_count = count($terms);
for ($i = 0; $i < $term_count; $i++) {
$items[] = l($terms[$i]->name, 'taxonomy/term/' . $terms[$i]->tid);
}
print theme('item_list', array('items' => $items));
PS У вас проблемы с наркотиакми или частыми запоями? Тогда вам поможет !
- 7692 просмотра
Разделы
Комменты
-
Xrumerls 1 день 19 часов назадПрогон вашего сайта лицензионным Xrumer Дешевле только даром https://goo.gl/vrx4SW - всего 5 за 1400 открытых ссылок →
-
Olzhas 2 месяца 2 дня назадСпасибо. С Новым Годом! →
-
Den 2 месяца 4 недели назадВ первой функции, при создании переменной $li_previous нужно поменять '←' с NULL, в $li_next сделать тоже самое. →
-
Гость 2 месяца 4 недели назадЕсли все ровно так как было описано, то нет никаких сомнений что домен увел сам регистратор. Потому что вероятность того →
-
Валерий 3 месяца 3 недели назадда можно делать импорт-экспорт только лишь в оболочке на входя на mysql сервер →
-
admin 3 месяца 3 недели назадВалерий, а зачем вам именно так делать экспорт? Если я не ошибаюсь, то там нет какой-либо команды чтобы сделать экспорт →
-
Валерий 3 месяца 4 недели назадзахожу на mysql через ssh по команде →
-
admin 3 месяца 4 недели назадДобрый вечер, какой у вас клиент? →
-
Валерий 4 месяца 15 часов назадЗдравстуйте, есть команда чтобы сделать экспорт базы внутри mysql клиента? →
-
Eduard 4 месяца 2 недели назадВидать, домен хороший был. Заявление пробывали писать на мошенника? →
Комментарии (7)
Для того чтобы вывести все дочерние термины текущего словаря надо в строке
$terms = taxonomy_get_tree(3); // vocabulary id
добавить аргумент arg(2)для идентификации текущего термина итого должно быть
$terms = taxonomy_get_tree(3, arg(2)); // vocabulary id
А данный код выводит описание термина (если есть) + его дочерние термины
$current = taxonomy_term_load(arg(2));
print ''. $current->description .'';
$items = array();
$terms = taxonomy_get_tree(1, arg(2)); // vocabulary id
$term_count = count($terms);
for ($i = 0; $i < $term_count; $i++) {
$items[] = l($terms[$i]->name, 'taxonomy/term/' . $terms[$i]->tid);
}
print theme('item_list', array('items' => $items));
Так taxonomy_get_tree() итак вывводит все дочерние термины если не вписывать второй аргумент, т.к. он по умолчанию будет равен нулю, что значит показывать полную иерархию словаря.
В моем случае надо было в каждом родительском термине выводить его описание и дочерние термины (каталог товаров)
Вывод делали в блоке? Что-то типа такого:
Термин (Описание)
--подтермин
--подтермин
Термин2 (Описание)
--подтермин
--подтермин
?
Нет не в блоке во вьюхе страницы термина страница такая примерно
Тоета (родительский термин)
завод основан в бла бла бла (описание берется из описания термина таксономии)
Камри (дочерний термин)
Королла (дочерний термин)
Прадо (дочерний термин)
нода 1
нода 2
(А тут если есть ноды которые имеют отношение к данному родителскому термину.)
Если я не ошибаюсь, то ведь это можно было сделать и без кодинга - штатными средствами Views, нет?
Наверное можно... Но у меня так и не получилось...
точнее получилось вывести только ноды, которые имеют связь с дочерними терминами - текущего термина