On 16/05/12 18:56, andy baxter wrote:
Hi,
I've just been working through the example here:
http://drupal.org/comment/reply/1492498
Which describes how to add site content to a simplenews newsletter using entity reference, views bulk operations, and rules.
The problem I'm having is that this recipe only works for a single list of nodes - I want to have two lists, with recent 'News Stories' shown first, then upcoming 'events'.
I've solved this by passing the newsletter in the url, and using a custom php value in the rule to get the newsletter id.
- the first rule triggers on saving a new newsletter. - this invokes a view of news stories, which has the first contextual field set as a placeholder (Global: Null). - this calls a rule set component to add the news stories, using views bulk operations. - the first rule in the set gets the newsletter node: - add variable with zero value - change value to arg(2) using a custom php value (you need custom php filters installed). I.e. add an action to change a data value, set the selector to the variable you've created, set the value to the current value of the variable, and add 'return arg(2);' in the value's custom php field. Which argument to get depends on how you named your view. Mine is at /view/newsletter-stories/[nid]. - select newsletter node by id - the second rule in the set adds the news stories as in the example above, then redirects to the 'newsletter events' view. - This works the same as above, but ends up redirecting back to the newsletter node.
You should be able to chain as many rules/views as you like using this method.
If anyone knows of a cleaner way to do it, I'd still be interested (e.g. without using the 'arg' function).
If I get the time, I could write this up somewhere on the drupal site, but I'm not sure where is best?
andy baxter