1

Below is the generally layout of what I want to do. A list of nodes/items of a fixed content type with a custom view on the other side.


List on one side, details on the other
On the left hand side we see a list of nodes, shown as squiggles. One is selected (highlighted with a red border).
On the right hand side we see the details of this node: The Title, The Description and so on.


I've looked into Views and Panels. I think what I want is a View that is specific to the listed content type. And then to include that in a panel that has the list?

I've tried several times but gotten mixed up in what I need to do.

Is there a simple non-video (blocked at work) guide to doing this sort of thing?

All the examples I've seen either use pure php or make too many assumptions about knowledge of drupal.

5
+50

I don't know of any Drupal Contrib Master-Detail views modules. Views Megarow comes close, so check it out.

You can use Panels and Page Manager (part of CTools) if you don't mind a page reload to update the detail view.

  1. To start, install Panels, Page Manager (part of CTools), and Views content panes (part of CTools).

  2. Select a path that you want your master-detail view on: I choose detail-view for this example.

  3. Create a view that lists your content titles (master display only). Add field nid to this view, set its display to none, and move it to above title field. Alter title field settings by removing 'link this field to the original piece of content', and rewrite results on this title field by selecting 'Output this field as a link', and enter detail-display/[nid]

enter image description here

  1. Create a second view similar to first (view of nodes, master display). Add a 'Content Pane' display to this view. As this view will display fields for a single node only, add the fields you want to display. Then add a contextual filter of nid, and hide the content when the filter is not available. Now comes the important part. Click on 'Edit' next to 'Argument input' in the middle pane of the views UI. Select 'From Panel Argument' for the list box 'Content: Nid Source', then select 'First' from Panel argument.

content pane display added to view

enter image description here

  1. Add a custom page (admin/structure/pages/add). Add your desired path (ie detail-display). Select Panel as the variant. Next screen of wizard choose a two-column layout.

  2. When you get to the UI page where you select the content for the left and right side, do this.

    a. For left panel, select 'Add content'. Select 'View Panes', and select the view pane that you created first (ie the one that lists all the titles).

enter image description here

b. For the right panel, select 'Add content', then select 'View Panes', and select the view pane that you created second (ie the one that lists detail for one node only).

  1. Update and save the panel, and you are good to go.
  • This is great but I got to here: "Then add a contextual filter of nid, and hide the content when the filter is not available. Now comes the important part. Click on 'Edit' next to 'Argument input' in the middle pane of the views UI." and couldn't find how to do that with contextual filters, and also I couldn't find an 'edit' or 'Argument Input'. Could you provide more details/screenshots? – Pureferret Nov 25 '14 at 9:53
  • @Pureferret "Argument input: Edit" requires that the views display is a content pane (as any display View should be really), see step 4. – Letharion Nov 25 '14 at 10:10
  • @Letharion thanks I finally noticed when the Screenshots went up. This guide is great. I have it all set up but I must have missed something as when I click on the node-titles of the list view, it takes me to a separate page with the url of 'tech-detail/%5Bnid%5D'. Will keep looking. – Pureferret Nov 25 '14 at 10:13
  • 1
    @Pureferret Make sure that you have field nid above field title in the first view. it looks like your token is not being converted. – J. Reynolds Nov 25 '14 at 10:26
  • 1
    @Pureferret Cool. And actually it does not make it the second argument. it just brings it into scope. – J. Reynolds Nov 25 '14 at 10:31
1

Look into the Finder module in addition to creating a View Page.

From the Finder module project description:

Typically Finder is used for these purposes:

  • As a search tool to find a group of nodes or users.
  • As a way to navigate to a specific node or user page that matches criteria.
  • As an alternative to exposed filters for a Views module display.

Specific example uses of Finder:

  • An autocomplete search on node titles in order to find a node.
  • A select list of all the possible values for a particular content field in order to get a list of corresponding nodes.
  • Multiple groups of radio buttons and checkboxes with taxonomy terms to find nodes that match all the selected terms.
  • An autocomplete search on usernames in order to go to a user profile.
  • A multi-step wizard form to whittle down a pool of potential results by asking questions on one step that will reduce the possible answers on the next step.

Finder should be able to pick and choice, or filter, what shows up in the that Select list.

  • Views also has a view attachment functionality for this purpose. There are various tutorials online with the typical use case being an alphabetical index with a node list displayed on the same page. I'm not sure if it's Ajax enabled, but it's where I'd start from. – murraybiscuit Nov 24 '14 at 16:22
  • @murraybiscuit I saw some of those and found them very confusing. Could you reconmmend one? I don't think Finder is the right module for this. – Pureferret Nov 24 '14 at 16:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.