2010-03-01 44 views
4

我正在使用面板覆盖节点模板(节点/%节点)。我希望系统在加载节点时使用特定的变体。例如。节点123应该使用变体A,而节点223应该使用变体B.没有一种选择可以让我确定在选择规则下,我想知道是否应该使用PHP代码,如果我这样做,我应该如何去做编写代码?Drupal - 面板 - 根据NID使用变体

我知道使用面板节点的选项,但通过使用它,没有简单的方法来编辑节点,从而使其成为不理想的选择。

回答

3

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

不管怎么说像

return arg(1) == 123; 

应该这样做。

你的问题可能是Drupal /面板缓存。我只是测试它,它工作正常。

+0

@googletorp感谢您的快速响应。 这实际上是我尝试的第一件事,它不起作用,因此让我想到如果它不是正确的方法开始。 – 2010-03-02 00:40:18

+1

return arg(1)== 123; 这个新的代码工作!感谢堆的后续答案! – 2010-03-02 15:24:14

2

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

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

要小心,只测试ARG(1)如前面的答案,这也将匹配用户(用户/ 123),以及任何接受数字参数的页面视图(文章/ 123)。

+0

你的答案比googletorp的完整得多。谢谢! – Roger 2015-09-16 11:59:10