views unlimited: unleashing the power of drupal's views module

Post on 08-Sep-2014

519 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Unleashing the power of Views Drupal module. Discusses Display Formats (Map, Chart, Slideshow, Data Export), Fields, Basic Filters, Exposed Filters, Contextual Filters, Relationships, Attachment, and so on. Includes numerous sample use cases and recommendations.

TRANSCRIPT

VEngr. Ranel O. Padon

Drupal Apprentice Training

https://github.com/ranelpadon

UNLIMITEDIEWS

TOPICS

Introduction

Views Components

Formats

Fields

Basic Filters, Exposed Filters, Contextual Filters

Relationships

Attachment

Display Formats: Map, Chart, Slideshow, Data Export

Recommendations

About Me

Full-time Drupal developer for CNN Travel

Part-time Python/Web GIS lecturer in UP.

Involved in computational Java and Python projects before.

Plays competitive football and futsal.

INTRODUCTION

“Views changed my life.”

~Michelle Lauer and Greg Stout

INTRODUCTION

The No.1 module out of 27,000+ modules.

INTRODUCTION

Earl Miles: the Views creator.

Drupal.org: @merlinofchaos

INTRODUCTION

INTRODUCTION

Views is a module that displays a list of data.

One set of data could have many Views. #flexibility

Under the Hood

Under the Hood

Under the Hood

Under the Hood

Views Demystified

Views is essentially a view of data.

For example, if you’re in a bar with your friend (which could be drunk

already), and suddenly a woman entered the room your friend may find

the woman gorgeous/sexy, but you might find it just mediocre/ugly.

Views Demystified

In that case, there are 2 dif ferent Views or perspective: your View and

your friend’s View; while the data (the Woman) is the same for both of

you, it could be portrayed differently.

Views Demystified

In the same way, Views retrieve data from the database, selects the

content types you want (Blog, News, Product, Tourist Spot), the

f ields you want (Title, Images, Author, Location, Price), f i lter them

(filter by category, filter by price), apply some pre-processing

(compute total, aggregate data), sort them (sort by surname, sort by

area, sort by publication date), and finally display them in a format you

want (list, grid, charts, maps, gallery).

Views Demystified

Hence, a same pool of data could be combined and viewed in many

ways. This makes Drupal really powerful!

Views Demystified

Views is the make or break of Drupal. Many people find it to be

intimidating and hard. But essentially, it just answers these 3 questions:

What?

Where?

How?

Views Demystified

What (Content Type, Fields)

Where (Page, Block, Attachment)

How (List, Table, Gallery, Chart, Map)

Views: Let's Get Our Hands Dirty!

Enable: Chaos Tools, Views, and Views UI modules

Create 3 Articles (fill-in their Title, Body, and Tags fields)

Views: SIMPLE LIST

Views: SIMPLE LIST

Views: SIMPLE LIST

Views: SIMPLE LIST | DISPLAY

Edit View.

Set Display to HTML List.

Save View.

Edit View.

Set Display to Grid and Table.

Utilize the Views' Preview section.

Utilizing the “?” help/hint icons

- if the Advanced Help module is installed

Views: SIMPLE LIST | SORTING

Remove the Post Date sorter.

Add Title Sorter, Set to Ascending.

Check Preview.

Views: SIMPLE LIST | FIELDS

Change Display's Contents to Fields.

Add fields.

Rearrange fields.

Remove fields.

Trim Fields (trim the Body field to 20 characters only).

Views: SIMPLE LIST | EXPOSED FILTERS

Add exposed filter (filter by Tags)

Enable AJAX (to avoid page reloading)

Views: PATH, PERMISSION, PAGERS

Edit Path.

Add Menu Link.

Control the Permission.

Add a Footer message.

Paged Output

Full vs Mini Pager

Exposed Pager

Views: SIMPLE LIST | BLOCK VIEW

Add a new View in the current View

Set the Display Name

Display the view in Block.

'All Displays' vs 'This Block (Override)'

Show Titles Only

Enable the Block

Show that Block in that page only.

Views: SIMPLE LIST | PAGE CLONING

Clone a Page

Set the Display Name

Display All contents (don't set the edit to All Displays!)

Edit Path (/articles-full)

Connect the Block to the new Page

Set the More Link (Display 2 contents only) in the Block

Advanced >> Link Display: check Full Articles Page

Views: CLONING | TABBED MENUS

Clone the Articles Views in admin/structure/views

Set the Page View's Path as /articles-parent

Clone the parent Page, Re-order Views Displays

Set Path as /articles-parent/tab1

Menu Settings:

Title: Tab 1

Type: Default Menu Tab

Parent Menu Item: Normal Menu Item

Menu: Main Menu

Views: CLONING | TABBED MENUS

Views: CLONING | TABBED MENUS

Go to the other Page Display

Set Path as /articles-parent/tab2

Menu Settings:

Title: Tab 2

Type: Menu Tab

Menu: Main Menu

Weight: 1

Views: CLONING | TABBED MENUS

For easier and more powerful tabbing needs,

See the Quick Tabs module:

https://www.drupal.org/project/quicktabs

Views: Destination with Reviews

Relationships between Tourist Spot and Review content types.

The Review's table has been merged to the Tourist Spot's table to

connect and retrieve information.

Views: Relationships

For merging information across tables. In SQL, it's the JOIN operation.

Usually used if you want to access deeper information from two or

more content types, including users or taxonomy terms' comprehensive

object/table information.

Activate these modules for this exercise:

Entity API

Entity Reference

Inline Entity Form

Views: Relationships

Create Review content type

Title field: Byline

Reviewer: Text

Rating: List (Integer)

Create Tourist Spot content type

Destination Name: Text

Review: Entity Reference

Widget: Inline Entity Form

Views: Relationships

Create Review content type

Views: Relationships

Create Tourist Spot content type

Views: Relationships

*Create 3 Tourist Spots

1. Tourist Spot:

Name: Amanpulo Beach Resort

Review:

Byline: Excellent Service!!

Reviewer: Juday

Rating: 5

Views: Relationships

*Create 3 Tourist Spots

2. Tourist Spot:

Name: Taal Volcano

Review:

Byline: Good View

Reviewer: PNoy

Rating: 4

Views: Relationships

*Create 3 Tourist Spots

3. Tourist Spot:

Name: Chocolate Hills

Review:

Byline: Disappointed!

Reviewer: Mommy D

Rating: 2

Views: Relationships

Create new View

Views: Relationships

Add the Relationships

Views: Relationships

Adjust the Fields

Views: Contextual Filters

Usually used for creating related contents/block/info for each individual

page.

Views: Contextual Filters

Add a new Block display, then set the Nid as a contextual filter

(Arguments in Drupal 6)

Views: Map Display

We need fields for holding

location information.

These field will be used by Views

for displaying contents in a map.

Views: Map Display

Activate Modules:

Libraries

GeoPHP, Geofield

Leaflet, Leaflet Views, Leaflet More Maps

Put the "leaflet" JS library in sites/all/libraries,

so that you will have site/all/libraries/leaflet/leaflet.js file

Views: Map Display

Add an Is land Group Taxonomy Vocabulary, then add the Luzon,

Visayas, and Mindanao terms.

Views: Map Display

Add Location field and Island Group field in Tourist Spot

Views: Map Display

Edit each Tourist Spot, and specify the values:

Amanpulo Beach Resort

Latitude: 11

Longitude: 121

Island Group: Luzon

Views: Map Display

Edit each Tourist Spot, and specify the values:

Taal Volcano

Latitude: 14

Longitude: 121

Island Group: Luzon

Views: Map Display

Edit each Tourist Spot, and specify the values:

Chocolate Hills

Latitude: 9.8

Longitude: 124.2

Island Group: Visayas

Views: Map Display

Add Location field and Island Group field in Tourist Spot

Views: OpenLayers

Implement a similar view using the OpenLayers module.

https://www.drupal.org/project/openlayers

Follow this guideline:

https://www.drupal.org/node/1481374

For a comprehensive discussion of mapping with Drupal:

http://www.slideshare.net/ranelpadon/of-nodes-and-maps

Views: Chart Display

We need a charting library

to visualize Views data.

Charts utilizes the

Views' Aggregation

and Count operations.

Views: Chart Display

Activate Modules:

Libraries

Visualization

Put the "highcharts" JS library in sites/all/libraries,

so that you will have site/all/libraries/highcharts/js/highcharts.js file

Views: Chart Display

Views: Google Chart Tools

Implement a similar view using the Views Chart Tools module.

https://www.drupal.org/project/views_chart_tools

Follow this guideline:

https://www.drupal.org/node/1675788

Views: Slideshow Display

We need an slideshow plugin for

cycling the contents/fields

Views: Slideshow Display

Activate Modules:

Libraries

Views Slideshow, Views Slideshow Cycle

Put the "jquery.cycle" JS library in sites/all/libraries,

so that you will have a

site/all/libraries/jquery.cycle/jquery.cycle.all.min.js

Views: Slideshow Display

Add a Photos field, then upload the 3 sample photos provided for each

Tourist Spot.

Views: Slideshow Display

Views: Flex Slider

Try also the responsive and nifty FlexSlider module:

https://www.drupal.org/project/flexslider

Views: Export Data as csv, xls, etc

Activate Module:

Views Data Export

Views: Export Data as csv, xls, etc

Essential idea:

1. Set the Display Format to XLS, CSV, etc.

2. Set the export Path.

3. Set the view that it will be attached to.

Views: Export Data as csv, xls, etc

Exercise: Highlighted Content

Create a new Block display in the left sidebar. The first content should

display its Title and Photo, the rest, display their Titles only.

Challenge Exercise:

OpenLayers with

Exposed Filters

What's More?

1. Views PDF

2. Entity Views Attachment (EVA)

3. Nodequeue

4. EFQ Views

5. Views Accelerator

6. and so on (explore Views-related modules in Drupal.org)

“Views changed my life..”

“..and it is about to change yours.”

top related