cck скрытое поле, заполнить редактирование пользователя - PullRequest
0 голосов
/ 20 января 2012

У меня есть пользовательский тип cck, созданный людьми, и поля заполнены. Затем кто-то еще редактирует эти узлы и добавляет больше данных. Я хочу сохранить имя пользователя, редактирующего контент, в скрытое поле.

я знаю, что могу получить пользователя с этим:

global $user;
$a = $user->name;
return array(
  0 => array('value' => $a)
);

и я поставил его как код по умолчанию для скрытого поля, но поле теперь заполнено создателем узла, а затем не заменено редактором. Как я могу решить мою проблему?

Ответы [ 2 ]

0 голосов
/ 23 января 2012

Я исследую вашу проблему, вот решение, наслаждайтесь !!!

Создайте пользовательский модуль и используйте следующий код.

//Implementation of hook_nodeapi()
function hook_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  switch($op) {
    case 'presave':
        if($node->type == "Your content type name")
        {
          global $user;
          //In my case
          //$node->field_username[0]['value'] = $user->name;
          //In your case it will be like
          $node->hidden_field_name[0]['value'] = $user->name;
        }
      break;
  }    
}
0 голосов
/ 20 января 2012

Когда вы тестируете редактирование узла самостоятельно, содержит ли поле ваше собственное имя пользователя или оригинального автора?

Альтернативное решение состоит в том, чтобы form_alter формы редактирования конкретного узла и в node_save заполните скрытое поле симя пользователя.

...