0

I have a view content pane displaying a node of a certain content type. This content type contains entity reference fields which are rendered as nodes on in the view field settings. On this view, I have a contextual filter of type "Content: NID" with "Provide default value" selected and "Content ID from URL" selected in the drop-down.

I created a panel page over-riding the node template, and a variant with 2 selection rules: 1) Node being viewed is this content type, and 2) "Node: accessible - Logged in user can view Node being viewed."

I am using two users to test - the admin user, and a test user.

  • When I view this panel page as an admin, with 'bypass node access' permission, I can see the panel with the content pane, and the node and the referenced nodes that are present in the view.
  • In the node access table, the node is listed with the correct realm and gid.
  • Debugging output shows that my test user has the correct grants (at least one grant contains realm and gid that matches the node_access records), and should be able to view the node.
  • If I disable the panel, my test user CAN access the node directly, as well as the nodes referenced in the entity reference fields.
  • I made a copy of the content pane display (as a view page, with url), and my test user CAN access the view, and all nodes on the view.
  • When my test user tries to view the panel page, he sees the OTHER panes on the panel (which I assume tells me that "logged in user can view node being viewed" is TRUE, as the variant IS being displayed).
  • One strange thing that I noticed, is that when I try to preview the view by manually adding the NID argument, I get nothing - no query being displayed, and no content being rendered, but this is for the content pane, not the view page display with url.

However, the test user can NOT see the views content pane embedded in the panel, while the admin user can. The pane simply does not render, and the "No results behaviour" of the view, which is set to display a message, does not render, either. It is just blank.

Anyone know why the content pane would not render? Is there some permission that I'm missing, or some setting on the views content pane screen? Or some setting on the panel variant configuration, or the pane configuration? I don't see anything that should hide this pane.

1 Answer 1

1

The issue that I was having had to do with the fact that I was using Views PHP to enter PHP code as the contextual filter validator. It should have been on only one display, but it was saved in the master, and was added to all displays, including ones which were over-ridden. I removed it entirely, from the master, but it still didn't fix it. It appears that there is a bug in either the views php module, or the view module (or possibly ctools), in which the validation stayed in the views cache, even after removing it, saving the view, and clearing cache.

To fix this, I exported the view, manually removed the validation code, and re-imported.

Hope that helps the next person who might run into this very obscure problem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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