2

我一直在使用 hook_alter 来修改自定义 PHP 模块中的表单。我开始采用相同的方法修改“节点添加”表单的结果页面。但是,此页面不是表单,因此我没有要连接的表单 ID。实际上它包含一个登录表单,但它不包含我正在寻找的元素。

接下来,我克隆了名为 node.tpl.php 的文件并将其命名为 node-my-content-type.tpl.php。如果我将“hello world”添加到此页面,该短语会显示在顶部,所以我知道它正在工作。

然而,在这里我的所有内容似乎都被压缩为一个名为 $content 的字符串,因此操作它变得非常困难。

在这种情况下我应该使用什么方法?

4

2 回答 2

1

您可以通过执行以下操作来确定当前用户的属性:

global $user;
var_dump($user);

这将显示您的帐户。因此,如果您想按角色限制某些内容,您可以:

if (in_array('administrator', $user->roles)) {
  // code
}

但我认为你会更适合使用 CCK 和内容权限来控制这样的字段级别可见性。

于 2010-04-18T17:08:16.697 回答
0

默认管理员帐户在用户表中的 uid 始终为 1,因此要为除管理员之外的所有人做某事,您可以这样做:

// Bring the $user object into scope
global $user;

if ($user->uid != 1) {
  do something here...
}
于 2010-04-18T21:05:35.300 回答