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