1

Is there a way to pass a multi value argument from panels to a panel view?

I have a node with an entity relation field on it and load this node as context in page manager.

I have also a view which accepts a multi value argument (contextual filter). Not multiple arguments I mean an argument where you have multiple nids normally separated by comma if you would enter them in the url.

I want to pass the nids from the entity relation field on the node loaded as context to the view I load in a panel on the same page.

Maybe it is more understandable by describing it step by step.

  • I created a page manager page with a path /admin/something/!nid
  • The node identified by !nid is loaded as a context so I have all the field values on the node.
  • The node has a field that stores a small amount of other nodes as references.
  • I want to pass the nids of the referenced nodes to a panel view as argument number one.
  • I have done this with one nid but have no idea how to do it with multiple ones.

Any ideas? Thanks!

1 Answer 1

1

The entity context provided by CTools uses tokens to provide keywords for the given context.

So if you implement your own token which uses a node object as data source it will end up among your node context keywords, and you can pass it to the view as an argument.

Check out this answer to get an idea how to implement tokens.

Your token replacement method should extract the referenced node IDs from the loaded node, and concatenate '+' or ',' between them (it depends on how your argument is configured in the view).

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.