Результат работы сниппета:
Drupal 6:
$terms = db_query(" SELECT tid, name, ( SELECT COUNT(*) FROM {term_node} tn LEFT JOIN {node} n ON tn.nid = n.nid WHERE tn.tid = td.tid AND n.status = 1 ) node_count FROM {term_data} td WHERE vid = %d ORDER BY weight ", ID_vocabulary); while ($term = db_fetch_array($terms)) { $items[] = l($term['name'], 'taxonomy/term/' . $term['tid']) . ' (' . $term['node_count'] . ')'; } echo theme('item_list', $items);
Drupal 7:
$terms = db_query(" SELECT tid, name, ( SELECT COUNT(*) FROM {taxonomy_index} ti LEFT JOIN {node} n ON ti.nid = n.nid WHERE ti.tid = td.tid AND n.status = 1 ) node_count FROM {taxonomy_term_data} td WHERE vid = :vid ORDER BY weight foreach ($terms as $term) { $items[] = l($term->name, 'taxonomy/term/' . $term->tid) . ' (' . $term->node_count . ')'; }
Вместо ID_vocabulary - необходимо прописать ID словаря, из которого будут вытаскиваться значения.
Комментарии (41)
спасибо за инфу - тока drupalfly.ru почему то у меня медленно грузится - что может быть не так?
проверил работоспособность, сайт летает - нагрузок не выявлено, даже с мобилы прроверил - грузит отлично.
Актуальная темка поста , ну и портальчика в общем.
Спасибо большое. Прочитал с огромным интересом. Добавил в закладки – потом закреплю.)
Обожаю поглазеть контент такого формата.
Главное, что бы это ещё где нибудь пригодилось!
Да, а я предполагал все ровно наоборот. Глаза открыли, большое спасибо!!!
Не часто попадается публикации на эту тему. Будем ждать продолжения...
Заметка достойна, что бы существовать на этом сайте. Глаз алмаз, полное попадание в точку...
А можно по подробнее, как и где это делать, или хотя бы что надо знать что бы понять что надо делать? Это драш или окно терминала?
Это сниппет...Как работать со сниппетами в Drupal, есть специально ссылка в конце каждой публикации "Сниппет". PHP сниппет. Как им пользоваться в Drupal
Спасибо, как я раньше ссылку не увидел)). Вообще хороший ресурс, спасибо ещё раз. А какой WISWIG редактор здесь используется?
редактор вот этот.bueditor.
Хороший сниппет, спасибо за него!
А как для D7 вывести не в один столбик, а настраиваемый в два-три столбца?
И если бы с подразделами выводил, цены ему не было, но это наверное ближе к сказке о рыбаке и рыбке, где Dobry остается у разбитого корыта :))
а что вы подразумеваете под "а настраиваемый в два-три столбца" ??? подробнее можно!
Сейчас выводит в один столбец, вот пример настраиваемого отображения с иерархией, где можно поменяв цифру в переменной выводить например в два-три столбца. Ну и обернуть в дивы или как здесь h2 для родителя иерархии, чтоб css прописать можно было.
Пропали вы что-то, я поподробнее вам ответил, что вы по этому поводу думаете?
да не пропадал, просто времени не хватает, попозже посмотрю что можно сделать.
ясно
Кто у кого код увел? вряд ли xandeadx http://xandeadx.ru/blog/drupal/18
так это совершенно открытая информация, которую предоставляет API Drupal, на их официальном ресурсе. Владелец в любом случае Drupal.org
ааа, семён семеныч :)
Попробую вывести через views
Сделал по этому примеру http://xandeadx.ru/blog/drupal/415 формат grid
Если у вас запрещено ссылки на другие сайты ставить, удаляйте, если нет, может кому поможет.
В общем мой вопрос отменяется :)
ок. а я думал, что вам нужен именно сниппет а не вьюха. А так конечно, вьюха поможет.
Да мне решение нужно было.
В любом случае спасибо вам за материалы и уроки
А так вот код, который обернёт все выводимые термины в div с классом test
а там дальше можете хоть в таблицу их запихать, в зависимости, что вам больше подходит.
Спасибо, пригодится!
как к данному коду прикрутить картинки.
К примеру вывел термин и перед ним картинку с помощью $term->tid.png
картинка через что у вас привязана к термину?
она не чем не привязана. вот я хочу ее и прмивязать)
к примеру есть переменная $pole = arey(
и потом это все вывести
так у вас для каждого термина должна быть своя картинка? или одна для всех одинаковая? Если одна для всех, то в цикл допишите вывод вашего изображения
если для каждого термина своя, то посмотрите в сторону этого модуля, а потом переписывайте в запросе к базе еще и вывод изображения.
Спасибо pantey толкнул меня в правильное направление, не охота модулями нагружать поэтому хотел через сниппет, и у меня получилось благодаря тебе.
потом нужной картинке присваиваешь нужный id-термин, и все...
вроде вставлял код правильный, а отображается не правильный .
Вот так должно быть
tid.".png">
Подскажите пожалуйста каким образом можно вывести список дочерних терминов таксономии с подсчетом количества в них нод. На подобии этого снипета
Классная у вас статья. Только сел за комп и вот те на, - нашел сразу что искал.
Как узнать id словаря?
например у меня на сайте пока только один словарь Теги
если этот словарь был создан Drupal при установке - то его Id = 1. А так в ID ищите в базе данных.
спасибо большое, вместо ID_vocabulary поставил 1 и появился список тегов,
а есть на вашем сайте статья как узнавать id в базе данных?
ато в MySQl я вообще не шарю :(
допустим я сейчас создам словарь, его id будет 2?
если словарей больше не создавал, то да. А так заходишь в свою БД (phpAdmin или что там у тебя есть), ищешь таблицу
и внутри увидишь поле VID, оно как раз и будет ID твоего словаря.
Материал на вашем сайте мне очень сильно понравился. Представить не мог, что быстро смогу найти ответ на вопрос. Спасибо огромное!!!.