Get the displayed node of a commerce_line_item in a component rule using 'commerce_display_path', doesnt work I ve found something quite interesting in an other post Discount based on a field in product display node in Drupal Commerce?

It describe a way to get the 'node display' associated with a line_item 


Build a component rules action set with custom php code in it,
providing a 'node_fecthed' provider variable and then use it with
other rules to do what you need. 
The php code use the commerce_display_path backlink exploded url to find the displayed
node, then return it. 
The given code is the following :

$line_item_wrapper = entity_metadata_wrapper('commerce_line_item', $line_item); 
$url = $line_item_wrapper-&gt;commerce_display_path-&gt;value(); $url_parts = explode('/', $url); 
$nid = $url_parts[1]; 
return array('node_fetched'=&gt; $node);



Just before the return line, i added, regarding to a comment suggestion from the original post, 2 lines :

$node=node_load($nid);
dpm($node);


when rules is run, devel dpm() displays the right associated node as expected.
But when in an other rules i try to display/debug/use the 'node_fetched' it appears to do nothing as if it was set to null.
What may be wrong with that ?
Any suggestions will be appreciated as i'm going mad with that for 2 days.
Thx
In fact returning variables (providers) from a custom php code doesn't work !
If you do it in a module the same code works !
Rules bug ??