Модуль Drupal изменить вид или узел - PullRequest
2 голосов
/ 18 апреля 2010

Я использовал hook_alter для изменения форм в пользовательском модуле PHP. Я начал использовать тот же подход, модифицируя страницу результатов формы «добавление узла». Однако эта страница не является формой, поэтому у меня нет идентификатора формы, к которому можно подключиться. На самом деле он содержит форму входа, но не содержит элементов, которые я ищу.

Затем я клонировал названный файл node.tpl.php и назвал его node-my-content-type.tpl.php. Если я добавлю «hello world» на эту страницу, фраза отобразится вверху, поэтому я знаю, что она работает.

Однако здесь весь мой контент, похоже, сведен в одну строку с именем $ content, поэтому манипулировать этим становится очень сложно.

Какой подход я должен использовать в этой ситуации?

Ответы [ 2 ]

1 голос
/ 18 апреля 2010

Вы можете определить свойства текущего пользователя, выполнив:

global $user;
var_dump($user);

Это покажет вам ваш аккаунт. Поэтому, если вы хотите ограничить что-то по роли, вы должны сделать:

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

Но я думаю, что вы бы лучше подходили для использования CCK и Content Permissions для контроля видимости на уровне поля, как этот.

0 голосов
/ 19 апреля 2010

Учетная запись администратора по умолчанию всегда имеет uid 1 в таблице пользователей, поэтому, чтобы сделать что-то для всех, кроме администратора, вы можете сделать это:

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

if ($user->uid != 1) {
  do something here...
}
...