Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Drupal: Views: how to group fields

I've created a views of node and I've selected the "fields" option in order to select which fields to display and in which order.

Is there a way to group such fields ? It would be very useful to have parent divs in my html code.

thanks

like image 974
aneuryzm Avatar asked Feb 02 '11 22:02

aneuryzm


People also ask

What is field Group Drupal 8?

The Drupal 8 “Field Group” module allows you to group fields and to present them in containers like vertical or horizontal tabs, accordions or just plain wrappers. It lets you group fields in the frontend of your site, and in the backend as well.

What is grouping of fields?

A Group field is a way to group together one or more fields on a page for visual and practical purposes. Visually, a group helps to tie similar fields together into a common category. Grouped fields also provide organization and structure to the form.

What is Drupal group?

The Group module allows you to create arbitrary collections of your content and users on your site and grant access control permissions on those collections. Out of the box, Drupal only allows a person to view, create or edit the different content types you create.


4 Answers

Grouping is built into Drupal 8 Views. So no need for any extra modules. Here's how:

  1. Edit your view (be sure it has fields)
  2. Click Format's Settings
  3. A box will pop up with all your selected fields
  4. Look right underneath all the field names, there should be "Grouping field Nr.1"
  5. Select the field you'd like to group by
  6. Click Apply
  7. If you want to subgroup with a second field, just go back to 2 then you'll see "Grouping field Nr.2"

That's it.

like image 130
Saj Avatar answered Oct 22 '22 11:10

Saj


There's a simpler way to do it: http://www.arsnova.cc/web-development-articles/2012-07-27/grouping-fields-together-drupal-views

Let's say you want to group fields 1-3 together within a div.

  1. First, exclude fields 1 and 2 from display. (By "exclude", I do not mean to delete them from the views display; rather, click on the "exclude from display" button within each field's options.) The fields you exclude from display must come before the other field for this to work. If they don't, rearrange them so they do.
  2. Go to field 3, and rewrite the results, inserting the token for each of fields 1-3.

That's all you need to do. Fields 1, 2, and 3 will now appear within field 3's div. If you want, you can also add additional markup within the "rewrite results" area.

like image 36
Mark Avatar answered Oct 22 '22 09:10

Mark


Recently found the best way for my needs and apparently for the needs of many people: Use views_fieldsets module https://drupal.org/project/views_fieldsets, it allows yo to create a grouping div to put fields inside.

like image 34
hachesilva Avatar answered Oct 22 '22 11:10

hachesilva


Yes, click on the gear next to the Style option (under Basic Settings) and set the Grouping field. Keep in mind, the grouping field needs to be added to the view, but you can check the Exclude from display option to hide it, if needed.

I'm pretty sure that would give you a parent div. If not, you could add the parent div, by overriding the default templates (look to the Theme: Information section, under Basic Settings, for more information).

like image 28
Matt V. Avatar answered Oct 22 '22 10:10

Matt V.