我正在尝试将hook_block_view添加到模块中。现在,钩子允许块在用户DID不创建的所有节点上显示。为什么?我的代码必须有问题。
我想要的是与最新情况相反的情况。我希望钩子允许块只显示用户创建的节点。
function instantblocks_block_view($delta) {
//Add JS and CSS if the user has admin access to this block
if (instantblocks_access('any block controls', NULL, $delta)) {
instantblocks_load_files();
}
$block = array();
$content = instantblocks_block_view_content($delta = '');
if (preg_match('#node/([0-9]+)#', $_GET['q'], $matches)) {
if ($node = node_load($matches[1])) {
global $user;
if ($user->uid !== $node->uid) {
$block['content'] = array(
'#type' => "markup",
'#markup' => '<div class="instantblocks">' . $content . '</div>',
);
}
}
}
return $block;
}
有什么建议吗?
答案 0 :(得分:2)
您的代码看起来特别说
if ($user->uid !== $node->uid)
因此,如果用户不是创建节点的用户,他们会看到块内容(除非我遗漏了某些内容)。将其更改为
if ($user->uid == $node->uid)
应该解决问题。