Drupal-面板-根据NID使用变体

Drupal-面板-根据NID使用变体,drupal,drupal-panels,Drupal,Drupal Panels,我正在使用面板覆盖节点模板(node/%node)。我希望系统在加载节点时使用特定的变量。例如,节点123应该使用变量A,节点223应该使用变量B。在选择规则下,我没有一个选项来确定是否应该使用PHP代码,如果应该,我应该如何编写代码 我知道可以选择使用Panels节点,但是通过使用它,没有简单的方法来编辑节点,从而使其成为一个不理想的选择。在这种情况下,最简单的事情可能是插入一些PHP代码。对面板选择规则进行扩展会更好,但在这种情况下,这可能有点过头了 不管怎样 return arg(1) =

我正在使用面板覆盖节点模板(node/%node)。我希望系统在加载节点时使用特定的变量。例如,节点123应该使用变量A,节点223应该使用变量B。在选择规则下,我没有一个选项来确定是否应该使用PHP代码,如果应该,我应该如何编写代码


我知道可以选择使用Panels节点,但是通过使用它,没有简单的方法来编辑节点,从而使其成为一个不理想的选择。

在这种情况下,最简单的事情可能是插入一些PHP代码。对面板选择规则进行扩展会更好,但在这种情况下,这可能有点过头了

不管怎样

return arg(1) == 123;
我应该这样做


您的问题可能是Drupal/Panel缓存。我刚刚测试了它,它工作得很好。

您需要这样做

  $nid = 11;
  if (arg(0) == 'node' && arg(1) == $nid && !arg(2)) {
    return true;
  }
  return false;

与前面的答案一样,只测试arg(1)时要小心,它也会匹配用户(user/123)以及任何接受数字参数的页面视图(articles/123)。

@googletorp感谢您的快速响应。这实际上是我尝试的第一件事,但它不起作用,因此让我思考,如果它不是一开始使用的正确方法;这个新代码成功了!谢谢你的后续回答!你的答案比谷歌的要完整得多。谢谢