Показать блок на узлах, которые пользователь может редактировать? - PullRequest
2 голосов
/ 20 мая 2010

Какой видимость блока PHP-фрагмент будет показывать блок только на страницах узлов, которые может редактировать зарегистрированный пользователь? Пользователь не может владеть узлом. В моем случае я хочу показать блок Content Complete людям, которые могут заполнить пропущенные поля.

Ответы [ 2 ]

5 голосов
/ 20 мая 2010

проверка для 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; } }

0 голосов
/ 22 мая 2010

Ниже приведено решение Баррапонто, переписанное для таких нубов, как я, и для поддержки нескольких условий.

<?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;
?>
...