Перегляди та кількість вузлів для термінів таксономії


31

Як я можу відобразити значення підрахунку вузлів для термінів таксономії в Переглядах? з сортуванням списку результатів у порядку зменшення кількості вузлів.


2
На youtube є відео, яке дуже добре пояснено тут: //www.youtube.com/watch? V = w22Utjm-chs
wranvaud

Відповіді:


41
  1. Створіть подання таксономії
  2. Додати групу вузлів у співвідношенні
  3. Додайте назву терміна та вузол nid поля для відображення
  4. Увімкнути агрегацію в розділі "Інше" (Використовувати агрегацію: Так)
  5. Клацніть піктограму параметрів поля nid, виберіть групу типу "count".

Знайдіть експорт поглядів, які працювали на мене.

$view = new view;
$view->name = 'term_node_count';
$view->description = 'Displays node count values for terms';
$view->tag = '';
$view->base_table = 'taxonomy_term_data';
$view->human_name = 'term_node_count';
$view->core = 7;
$view->api_version = '3.0-alpha1';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Defaults */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->display->display_options['use_ajax'] = TRUE;
$handler->display->display_options['group_by'] = TRUE;
$handler->display->display_options['access']['type'] = 'none';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = '100';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['pager']['options']['id'] = '0';
$handler->display->display_options['pager']['options']['expose']['items_per_page_options_all'] = 0;
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
  'name' => 'name',
  'nid' => 'nid',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
  'name' => array(
    'sortable' => 0,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
  ),
  'nid' => array(
    'sortable' => 0,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
  ),
);
$handler->display->display_options['style_options']['override'] = 1;
$handler->display->display_options['style_options']['sticky'] = 0;
/* Relationship: Taxonomy: Node */
$handler->display->display_options['relationships']['nid']['id'] = 'nid';
$handler->display->display_options['relationships']['nid']['table'] = 'taxonomy_index';
$handler->display->display_options['relationships']['nid']['field'] = 'nid';
$handler->display->display_options['relationships']['nid']['required'] = 0;
/* Field: Taxonomy: Term */
$handler->display->display_options['fields']['name']['id'] = 'name';
$handler->display->display_options['fields']['name']['table'] = 'taxonomy_term_data';
$handler->display->display_options['fields']['name']['field'] = 'name';
$handler->display->display_options['fields']['name']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['name']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['name']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['name']['alter']['trim'] = 0;
$handler->display->display_options['fields']['name']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['name']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['name']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['name']['alter']['html'] = 0;
$handler->display->display_options['fields']['name']['element_label_colon'] = 1;
$handler->display->display_options['fields']['name']['element_default_classes'] = 1;
$handler->display->display_options['fields']['name']['hide_empty'] = 0;
$handler->display->display_options['fields']['name']['empty_zero'] = 0;
$handler->display->display_options['fields']['name']['link_to_taxonomy'] = 1;
/* Field: Node: Nid */
$handler->display->display_options['fields']['nid']['id'] = 'nid';
$handler->display->display_options['fields']['nid']['table'] = 'node';
$handler->display->display_options['fields']['nid']['field'] = 'nid';
$handler->display->display_options['fields']['nid']['relationship'] = 'nid';
$handler->display->display_options['fields']['nid']['group_type'] = 'count';
$handler->display->display_options['fields']['nid']['label'] = 'Count';
$handler->display->display_options['fields']['nid']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['nid']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['nid']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['nid']['alter']['trim'] = 0;
$handler->display->display_options['fields']['nid']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['nid']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['nid']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['nid']['alter']['html'] = 0;
$handler->display->display_options['fields']['nid']['element_label_colon'] = 1;
$handler->display->display_options['fields']['nid']['element_default_classes'] = 1;
$handler->display->display_options['fields']['nid']['hide_empty'] = 0;
$handler->display->display_options['fields']['nid']['empty_zero'] = 0;
$handler->display->display_options['fields']['nid']['link_to_node'] = 1;

/* Display: Block */
$handler = $view->new_display('block', 'Block', 'block_1');
$translatables['term_node_count'] = array(
  t('Defaults'),
  t('more'),
  t('Apply'),
  t('Reset'),
  t('Sort By'),
  t('Asc'),
  t('Desc'),
  t('Items per page'),
  t('- All -'),
  t('Offset'),
  t('node'),
  t('Term'),
  t('Count'),
  t('Block'),
);

Що робити, якщо ви хочете отримати кількість вузлів термінів, приєднаних до фактичного вузла?
Темарук

23

Усі попередні відповіді були дуже корисними.

Я хотів отримати таблицю, щоб я міг дозволити користувачеві сортувати за Терміном чи за кількістю.

Для цього я:

  1. Зв'язок> Термін "Таксономія": Зміст з терміном
  2. Використовуйте агрегацію: Так
  3. Поле> Зміст: Нід
  4. Тип агрегації для Nid = Count DISTINCT

Не вистачає того, як змусити ці два поля відображатись в онлайні. Для цього вам потрібно перейти до Формат -> Показати -> Налаштування та перевірити обидва пункти в рядку.
колан

12

Для правильного підрахунку вузла таксономії для термінів таксономії потрібно зробити наступне:

  1. У файлах: додайте термін Таксономія: Ім'я
  2. У відносинах додайте термін Таксономія: Зміст із терміном
  3. Додайте контекстний фільтр для терміна Таксономія: Ім'я

    3а. Виберіть "Показати підсумок"

    3б. Виберіть "Відображення кількості записів із посиланням" . Також встановіть базовий шлях, якщо ви хочете, щоб сторінку таксономії було правильно пов’язано.


5

Ключовим моментом є те, що ви переконайтеся, що ви поставили галочку "агрегація" у розширеному варіанті подання.


Це було б набагато краще, як редагування чужої відповіді (або ви можете написати більш повну відповідь).
michaelmcandrew

4

Додайте аргумент (перейменований на "контекстний фільтр" в останніх представленнях) для термінів таксономії та виберіть "Показати підсумок". Потім виберіть для відображення "Кількість записів".


У мене перегляди 7.x-3.0-alpha1. Де "контекстний фільтр".
ya.teck

Тоді вона позначена "Аргументи". Однак вам, мабуть, варто просто оновити до останньої версії.
tim.plunkett

3.0-alpha1 - це остання версія перегляду для drupal 7. Ви маєте на увазі оновлення до версії dev?
ya.teck

2
Альфа1 застаріла 6 січня. У ці вихідні має бути альфа2, але так, використовуйте розробник.
tim.plunkett

Перегляди 3,0-rc1. Спробував, як ви публікували вище, але я отримую лише наприклад: Категорія (1), Кішки (1). Скрізь 1 близько термінів таксономії, хоча у мене є багато вузлів всередині термінів. Що не так?
Олександр Кім
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.