Jedná se v podstatě o "inteligentního tvůrce dotazů". Umožňuje vytvářet a filtrovat vlastní sestavy, souhrny, kolekce obrázků a další obsah.
Instalace
- Nainstalujte modul Chaos Tools.
- Rozbalte modul Views 7.x-3.0-rc1 do adresáře sites/all/modules.
- V admin/modules (Moduly) povolte požadované moduly např.:
- Views
- Views UI (konfigurační rozhraní je vhodné na produkčním webu vypnout)
- Při upgradu z Drupalu 5 nebo Views 1 je nutné v admin/structure/views/tools/convert (Struktura, Views, Tools, Convert) ručně převést stávající pohledy do verze nové.
- V admin/structure/views (Struktura, Views) můžete upravit stávající pohledy.
- V admin/structure/views/add (Struktura, Views, Add new view) je možné vytvářet pohledy nové.
- V admin/people/permissions (Uživatelé, Oprávnění) nastavte oprávnění jednotlivých uživatelských rolí.
- omezení přístupu je také možné nastavit přímo ve vlastnostech každého pohledu

- V admin/structure/views/settings (Struktura, Views, Nastavení) je možné upravit výchozí nastavení např. povolit:
- Always show the master display
- Always show advanced display settings
- Pro import existujících Views je nutné povolit v modulech PHP filter
.
Video návod Views2 (en), Views Documentation (en)
Další moduly:
- Advanced help
- Administration Views – umožňuje upravit administrační stránky dle potřeb např. filtrace obsahu, komentářů, dávkové operace atd.
- Internationalization Views
- Simple Views – usnadňuje vytváření často používaných pohledů (může ušetřit spoustu času nejen začátečníkům)
- Masonry Views – dynamické rozmístění obsahu
- Views Field View
- Views Auto-Refresh
- CCK
- DraggableViews
- Voting API
- Views Bonus Pack – umožňuje exporty do CSV, XLS, DOC, XML atd.
- přidat pohled "page feed"
- nastavit styl CSV
- nastavit cestu: něco.csv
- připojit (attach to) k již existujícímu pohledu
- Views Bulk Operations (VBO)
- Views OR (experimental)
- Devel
- Calendar
- Views Calc
- Views PHP
- Term Node Count
- Views Crosstab
- Views Group By
- Views Custom Field
- Views Accordion – další typ zobrazení (sbalování a rozbalování obsahu)
- Slideshow efekty:
- Flex Slider
- FlexSlider Views Slideshow
- Views Slideshow – typ zobrazení umožňující vytvářet slideshow z uzlů
- pozor jQuery Cycle Plugin Lite (je asi o 90% menší) nemá funkční aktivní přepínací tlačítka

- pro automatickou výšku obrázků je vhodné doplnit CSS např.:
-
/* auto height */
.views-slideshow-cycle-main-frame {
width: 100% !important;
height: auto !important;
margin-bottom: 50%;
}
/* clear fix */
.views-slideshow-cycle-main-frame:after {
clear: both;
content: ".";
display: block;
height: 0;
visibility: hidden;
}
/* responsive image */
.views_slideshow_slide,
.views_slideshow_slide img {
width: 100% !important;
height: auto !important;
}
- pro vytváření slideshow z multiple-field polí je třeba zapnout Singleframe
- pro vlastní konfigurace vzhledu "přepínačů" je možné zapnout ThumbnailHover (Drupal 6) nebo postupovat dle návodu Creating an image pager (Drupal 7)
- pro automatické pozastavení slideshow při přehrávání videa je vhodné aplikovat patch solution for pause slideshow with click on embedded video (nutné pro Chrome a IE)

- Views Slideshow: Galleria
- jCarousel – efektní karusel
- Dynamic display block – efektní procházení obsahu
- Featured Content Slider
- Views Stapel – efektní zobrazení seskupených náhledů
- Views Cloud (TagCloud, Cloud Zoom, cctags, TagCanvas, Leaflet, CloudMenu)
- Nodequeue – ruční řazení (drag and drop) zvoleného obsahu
- Better Exposed Filters – rozšiřuje filtraci např. o záložky
- Clean Pagination
(řeší problémy filtrace záložek při zapnutém stránkování)
- Views Ticker - "rolující" text
- Views Data Export – export do CSV, XLS, DOC, TXT a XML
- Views XML Backend – nativní podpora XPath

- Views tree

- Menu Node Views
- Views block area
- Views Menu Area
- Views Contextual Range Filter
- Views Datasource – zobrazení obsahu ve formátech XML, JSON, RDF a XHTML
- ve verzi 7.x-1.0-alpha2 se chybně překládají i názvy tagů, je tedy vhodné používat URL s prefixem "en"
Další "efektní" moduly:
- Featured Content Slider
- Dynamic display block
Nastavení
Prozkoumejte nastavení stávajících pohledů nebo pohledů vytvořených modulem Simple Views.
Typy pohledů:
- stránka
- blok
- příloha – umožňuje spojit více pohledů do jednoho
- feed – RSS kanál
- a další
Nastavení pohledu:
- Popis pohledu
- Značka pohledu
Základní nastavení:
- Style:
- u tabulkového vzhledu je možné do jedné buňky vložit i více polí
- Use pager: Ano
- Access: Unrestricted
Kritéria řazení:
- Global: Random

- Uzly: Post date desc
Filtry:
- Uzly: Typ = Článek
- Uzly: Vydáno Ano
- Kategorie: Term = Sport
- Node translation: Jazyk = jazyk současného uživatele
- (vlastnost Search umožňuje při vyhledávání používat zástupné symboly)
Page settings:
- Cesta: views/news/sport/%
- argument % na konci cesty je důležitý např. pro zobrazení Menu Bloku s druhou úrovní navigace

- Menu: Normal: Sport
-
Vlastní drobečkovou navigaci (breadcrumb) je možné vytvořit např. přidáním a modifikací níže uvedeného obsahu do hlavičky u příslušné views stránky:
<?php
$breadcrumb[] = l(t('Home'),'<front>');
$breadcrumb[] = l(t('Views page title'), 'path/to/view-page');
$breadcrumb[] = t('Title');
drupal_set_breadcrumb($breadcrumb);
?>
Argumenty:
Umožňují fitrovat zobrazený pohled např. zadáváním argumentů např. přímo do adresního řádku prohlížeče. Při nezadání argumentů je možné zobrazit výchozí, i vícestupňový, seznam (roky > termíny atd.) s počty vnořených uzlů.
Argumenty je možné předávat i automaticky čehož je možné využívat např. u termínů. Příklad použití:
- Action to take if argument is not present: Provide default argument
- Default argument type: Taxonomy Term ID from URL
- Load default argument from term page
- Validator: Termín taxonomie
- Argument type: Term ID
- Action to take if argument does not validate: Hide View / Page not found (404)
Příklad PHP code validátoru:
Příklad exposted filtru:
- Use AJAX: Ano (při volbě Ne není vidět exposed filtr v zobrazení "Blok")
- Contextual filter -> Global: Null -> When the filter value is not available -> Provide default value
Vztahy:
Definice vztahu (relace) propojí entity (tabulky) mezi sebou a umožňuje tak zobrazit libovolné pole:
- Referenced (odkazavané) – pole na straně 1
- Referencing (odkazující) – pole na straně N
Pokud je vztah definován přes 3 a více entit je nutné příslušný vztah definovat již přímo při vytváření vztahu.
Po vytvoření vztahu je možné u zobrazovaného pole zvolit, ze které entity se mají požadovaná data zobrazovat.
Vývoj
- hook_preprocess_views_view
- hook_preprocess_views_view_fields
- hook_views_pre_render
- hook_views_post_execute
Příklady – Drupal 7
Zobrazení popisku (případně dalších poli) termínu ve Views "Taxonomy term":
- Vytvořte nové Views:
- Název: Taxonomy description (případně něco jiného)
- Popis: Zobrazení popisu termínu (pokud chcete)
- Zobrazení: Taxonomy terms
- Pokračovat a upravit
- Pole > Přidat: Taxonomy term: Term description (přídadně Display Suite pokud jej používáte)
- Pokročilé > Contextual filters > Přidat: Taxonomy term: Term ID
- Uložit
- Upravte existující views Taxonomy term:
- Hlavička > Přidat: Global: View area
- View to insert: View: taxonomy_description – Display: default
- Zdědit kontextuální filtry: zatrhnout
- Uložit
Zobrazení popisku (případně dalších poli) termínu ve Views "Taxonomy term" pomocí PHP:
Příklady – Drupal 6
Úprava stávajícího pohledu na úvodní stránku
Chcete-li mít na úvodní stránce webu (frontpage, node) např. nadpis Aktuality:
- V tématu vzhledu změnte v souboru
node.tpl.php
<h2> na <h3>.
- Upravte views frontpage:
- Defaults
- Header: None
- vložte požadovaný nadpis 2. úrovně např.
<h2>Aktuality</h2>
- přepněte formát vstupu na Full HTML
- Vytvořte novou stránku
Úprava stávajícího pohledu na kategorie
Chcete-li např. řadit termíny ve slovníku podle názvu (ne dle výchozího datumu vytvoření) a zobrazovat termíny do hloubky 10 úrovní (ne pouze termíny v aktuální kategorii) nastavte:
Kritéria řazení:
- Uzly: Sticky desc
- Uzly: Nadpis asc
- Uzly: Post date desc
Argumenty:
- Kategorie: Term ID (with depth)
Blok zobrazující příbuzné uzly
Hotové řešení si můžete do Views naimportovat pomocí přiloženého souboru views-related-by-term.zip.
Nastavení argumentu Taxonomy: Term ID:
- Provide default argument
- PHP Code (načte objekt pro aktuální uzel, který je zařazen do nějaké kategorie a zřetězí seznam všech ID termínů na tomto uzlu, vrácený řetězec k zobrazení je ve formátu 1+2+3, stejně jako argumenty views taxonomy_term):
- Allow multiple terms per argument (umožňuje používat formát 1+2+3)
- Reduce duplicates (odstraňuje duplicitní záznamy)
Nastavení argumentu Node: Nid (vyloučení aktuálně zobrazeného uzlu):
- Provide default argument
- Node ID from URL
- Exclude the argument
Podobný výsledek je možné dosáhnout i jinýmy moduly viz Comparison of Similiar / Relevant by term block modules.
Úprava stávajíciho pohledu na archiv
Rozšíření archivu o termíny kategorie:
- Zkontrolujte nastavení argumentu Uzly: Created year + month
- Nadpis: %1
- Action to take if argument does not validate: Summary, sorted descending
- Nastavení seznamu
- Display record count with link (zobrazí v závorce počet uzlů)
- Vytvořte argument Kategorie: Term ID
- Nadpis: %2
- Action to take if argument does not validate: Summary, sorted ascending
- Nastavení seznamu
- Display record count with link (zobrazí v závorce počet uzlů)
- Přidáním /200901 k adrese pohledu v adresním řádku prohlížeče si mohou uživatelé omezit zobrazený pohled pouze na uzly vytvořené v lednu 2009.
- Pokud v menu vytvoříte odkazy s argumenty, získáte z jednoho nastaveného pohledu mnoho výstupů.
Vložení libovolného pohledu pomocí PHP
Pomocí funkce views_embed_view() je možné vložit zvolený pohled do libovolného místa webové stránky např.:
<?php
print views_embed_view('taxonomy_term', 'page_1', '51');
?>
Případně si zobrazit kompletní obsah views:
<?php
$result = views_get_view_result('taxonomy_term', 'page_1', '51');
print_r($result);
?>
Název zobrazení v pohledu (default, page, page_1, page_2, block, feed atd.) zjistíte ve stavovém řádku při najetí myší na příslušnou vertikální záložku v menu nad tlačítkem Add display.
Zobrazení neformátovaného výsledku views:
<?php
$result = views_get_view_result('view_name', 'view_display', 'arguments');
print_r($result);
?>
Příklady – Drupal 5
- Vytvoření dalšího "pohledu":
- Basic information:
- Jméno
- Popis (návštěvníkům se nezobrazuje)
- Stránka:
- Provide Page View (poskytovat stránkový pohled); ano
- URL: pod jakým URL bude pohle dostupný
- View Type:
- Full Nodes: zobrazení celého obsah záznamu
- Teaser List: zobrazení náhledu záznamu
- Table View: zobrazení záznamů v tabulce – umožňuje řazení dle záhlaví
- List View: zobrazení záznamů v seznamu s odrážkami
- Views RSS: výstupem je RSS kanál
- Nadpis: nadpis pohledu pro návštěvníky stránek
- Use Pager: pokud je více záznamů, použít stránkování; ano
- Nodes per Page: kolik položek na stránce
- Empty text: zobrazí se pokud neexistuje žádný obsah
- Blok (vyplňte tuto sekci pokud chcete kromě stránkového pohledu zobrazovat také blok s daným obsahem):
- Nodes per Block: kolik záznamů zobrazovat v bloku
- [More] link?: pokud používáte stránkový i blokový pohled, můžete touto volbou vypsat odkaz vedoucí na stránkový pohled (velmi užitečné)
- Fields, velmi důležitá část, přidejte sem:
- Node: Body, tedy text obsahu
- VotingAPI percent vote result (average), zobrazení hodnocení daného obsahu – podle tohoto sloupce je např. možné celou stránku řadit, jinak řečeno, na prvním místě bude u ta nejpopulárnější
- Filtry, přidejte filtr:
- Node: Type
- Operator: vyberte Is One Of
- Hodnota: zvolte požadovaný typ obsahu (např. Stránka, Článek atd.)
- Sort Criteria
- Random: náhodné zobrazování
Překlady:
- <All>
- Is None Of
- Is One Of
- Is All Of
- Is Equal To
- Contains
- Contains Any Word
- Contains All Words
- Starts With
- Ends With
- Does Not Contain
Vytvoření seznmu alb a obsažených písniček.
Theming Views