Widoki i liczba węzłów dla warunków taksonomicznych


31

Jak wyświetlić wartości liczby węzłów dla terminów taksonomii w widokach? z sortowaniem listy wyników w kolejności malejącej liczby węzłów.


2
Jest film na youtube bardzo dobrze wyjaśniony tutaj https://www.youtube.com/watch? V = w22Utjm-chs
— wranvaud

Odpowiedzi:


41
  1. Utwórz widok taksonomii
  2. Dodaj grupę węzłów w relacji
  3. Dodaj pola nazwy terminu i nid węzła do wyświetlenia
  4. Włącz agregację w sekcji „Inne” (Użyj agregacji: Tak)
  5. Kliknij ikonę ustawień pola nid, wybierz typ grupy „liczba”.

Znajdź eksport widoków, który dla mnie zadziałał.

$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'),
);

Co zrobić, jeśli chcesz uzyskać liczbę węzłów terminów dołączonych do rzeczywistego węzła?
— Temaruk

23

Wszystkie poprzednie odpowiedzi były bardzo pomocne.

Chciałem uzyskać tabelę, aby umożliwić użytkownikowi sortowanie według Term lub według liczby.

Aby to zrobić, ja:

  1. Relacja> Pojęcie taksonomii: treść z terminem
  2. Użyj agregacji: Tak
  3. Pole> Treść: Nid
  4. Typ agregacji dla Nid = Count DISTINCT

Brakuje tylko tego, jak sprawić, by dwa pola pojawiały się w linii. W tym celu musisz przejść do Format -> Pokaż -> Ustawienia i zaznaczyć oba jako elementy wbudowane.
— colan

12

Aby uzyskać prawidłową liczbę węzłów taksonomii dla warunków taksonomii, wykonaj następujące czynności:

  1. W polu Fileds: dodaj termin Taksonomia: Nazwa
  2. W Relacjach dodaj termin taksonomia: Treść z terminem
  3. Dodaj filtr kontekstowy dla Taksonomii: Nazwa

    3a. Wybierz „Wyświetl podsumowanie”

    3b. Wybierz „Wyświetl liczbę rekordów z linkiem” . Ustaw także ścieżkę podstawową, jeśli chcesz, aby strona taksonomii była poprawnie połączona.


5

Kluczem jest upewnienie się, że zaznaczyłeś pole wyboru „agregacja” w zaawansowanej opcji widoku.


To działałoby znacznie lepiej jako edycja odpowiedzi innej osoby (lub możesz napisać bardziej kompletną odpowiedź).
— michaelmcandrew,

4

Dodaj argument (przemianowany na „filtr kontekstowy” w najnowszych widokach) dla terminów taksonomicznych i wybierz „Wyświetl podsumowanie”. Następnie wybierz opcję „Liczba rekordów”.


Mam widoki 7.x-3.0-alpha1. Gdzie jest „filtr kontekstowy”.
— ya.teck

Następnie jest oznaczony jako „Argumenty”. Jednak prawdopodobnie powinieneś po prostu zaktualizować do najnowszej wersji.
— tim.plunkett 25.03.11

3.0-alpha1 to najnowsze widoki wersji dla drupal 7. Czy masz na myśli aktualizację do wersji dev?
— ya.teck

2
Alfa 1 był przestarzały 6 stycznia. W ten weekend powinno być alfa2, ale tak, użyj dev.
— tim.plunkett 25.03.11

Widoki 3.0-rc1. Próbowałem, jak pisałeś powyżej, ale dostaję tylko na przykład: Kategoria (1), Koty (1). Wszędzie jest 1 w pobliżu warunków taksonomii, chociaż mam wiele węzłów wewnątrz warunków. Co jest nie tak?
— Alexander Kim,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.