在用户可以编辑的节点上显示块?

时间:2010-05-20 16:29:40

标签: drupal drupal-6

哪些块可见性PHP代码段仅在loged-in用户可以编辑的节点页面上显示块?用户可能不拥有该节点。就我而言,我想向实际填充缺失字段的人显示内容完成块。

2 个答案:

答案 0 :(得分:5)

检查node_access(“update”,$ node)(更多关于http://api.drupal.org/api/function/node_access/6

  //first check whether it is a node page
  if(arg(0) == 'node' && is_numeric(arg(1))){
    //load $node object
    $node = node_load(arg(1))
    //check for node update access
    if (node_access("update", $node)){
      return TRUE;
    }
  }

答案 1 :(得分:0)

以下是barraponto的解决方案,为像我这样的新手改写并支持多种条件。

<?php
$match = FALSE;

// Show block only if user has edit privilges for the node page
// first check whether it is a node page
if(arg(0) == 'node' && is_numeric(arg(1))){
    //load $node object
    $node = node_load(arg(1));
    //check for node update access
    if (node_access("update", $node)){
        $match = TRUE;
    }
}

return $match;
?>