I have been playing around with view panes, panels and context, and am struggling to find the best approach for the below:
- I have a Panel which, say, is my Home Page and contains various elements.
- Inside that panel, in a certain area, I wish to have Two View Panes
- View Pane A - Contains, say, a list of node titles
- View Pane B - Upon selecting a node title in View Pane A, I want View Pane B to display the content for that node
(My implementation uses Video Titles in Pane A which should display the relevant Videos in Pane B)
Current Approach:
- Panel is set with URL: homePage/%currentVideo
- In Page Manager, %currentVideo argument is configured to be assigned to the context Node:ID
- View Pane B has a contextual filter of Node:ID
- View Pane B has the Content ID from the Node assigned as the context for Argument Input
- When adding View Pane B to the Panel, I set the contextual filter to get it's input from %currentVideo
- View Pane A lists all the titles, and Rewrites the titles to a link that points to homePage/[nid] -- where [nid] is the input for the currentVideo
This works but I would ideally like to do this without using Arguments in the URL, since I want there to be several such Pane A/Pane B combinations on a home page, where selecting something in Pane A outputs content in Pane B. Therefore, the URL would just be /homePage, and wouldn't be used to pass arguments in/out in order to facilitate such a process.
Questions:
- Do I need to use Ajax? If so, - could someone suggest how the above process is best implemented?
- Or is there another approach using views, view panes, context and panels, that allows selection in one View Pane to trigger output in another View Pane within the same Page/Panel? (I'm not averse to re-loading the page, I just don't want to have to stuff multiple arguments in the URL as I feel it will get unmanageable over time.)
I have found an tried this Excellent tutorial on writing a module to implement an Ajax Callback, but am sure-ish that it could be all done within Views/Panels...
"Creating a Simple AJAX Interface with Views" : http://mrkadin.com/blog/node/70
Many Thanks in advance