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.