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

时间:2010-03-01 14:13:50

标签: drupal drupal-panels

我正在使用Panels覆盖节点模板(节点/%节点)。我希望系统在加载节点时使用特定的变体。例如。节点123应该使用变体A而节点223应该使用变体B.我没有选择确定在选择规则下,我想知道我是否应该使用PHP代码,如果我这样做,我该怎么办?写代码?

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

2 个答案:

答案 0 :(得分:3)

在这种情况下,最简单的事情可能是抛出一些PHP代码。对Panels选择规则进行扩展会更漂亮,但在这种情况下这可能有点矫枉过正。

无论如何

return arg(1) == 123;

应该这样做。

您的问题可能是Drupal / Panel缓存。我刚试过它,它运行正常。

答案 1 :(得分:2)

你需要做这样的事情......

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

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