Node-type specific contexts do not get properly set when Panels3's Node Templates are used (and by that I mean the cool node template overrides under /admin/build/pages/edit/node_view, that can be used instead of node-[type].tpl.php).
The problem is line 268 of context_nodeapi() function in context.core.inc:
if ($op == 'view' && $page && menu_get_object() === $node) {
Basically, when Panels3's Node Template overrides node rendering, the "if" condition does not pass because: $op='load', $page variable is empty and calling "menu_get_object()" causes "Maximum function nesting" fatal error.
Attached is a patch that rewrites the condition in Panels3-compatible fashion.
Comments
Comment #1
irakli commentedAttaching patch with the node_id of this issue in the name, for better tracking.
Comment #2
jmiccolis commentedirakli, thanks for digging into this. For the record, I'm really loathe to ditch menu_get_object() for old skool arg() checking. Are there any other options here. Would more implementing a panels api cover this usage?
Comment #3
blup commentedsubscribe
Comment #4
yhahn commentedCommitted to 3.x: http://drupal.org/cvs?commit=326196
The fix makes use of the CTools page manager and context task handler APIs rather than doing a node_load() against URL arguments.
http://drupalcode.org/viewvc/drupal/contributions/modules/context/contex...