Установка роли нового пользователя на основе поля со списком регистрации в Drupal 6 - PullRequest
1 голос
/ 02 августа 2011

Я пишу модуль Drupal 6, где моей задачей является предоставление определенной роли пользователям, которые регистрируются на моем сайте, на основе выбора из комбинированного списка в форме регистрации в поле «Профиль контента».(Модуль автоматического назначения ролей у меня не работал, потому что мне приходилось использовать условные поля, основанные на выборе ролей, и я не мог получить эти две работы вместе).

в моем модуле я реализовал hook_user (), но яне знаю, как принять решение на основе значения поля, потому что я не вижу значений полей профиля в моих объектах & & edit или & account.

/**
 * Implementation of hook_user().
 */
function mymodule_user($op, &$edit, &$account, $category = NULL) {
  switch ($op) {
    case 'isnert':

      $rolenames = user_roles();

      // 6 : magical role

      //profile_load_profile($account); // tried with and without this

      var_dump($account);
      //var_dump($edit);

      if(true) { // the decision should be made here based on the combo!
        $edit['roles'] += array('6' => $rolenames[6]);
      }


    break;

ps: если у вас есть предложения, как регистрировать сообщениякрасиво без удаленной отладки, пожалуйста, включите его в свой ансер: -)

1 Ответ

1 голос
/ 02 августа 2011

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

$profile = content_profile_load( 'content_profile_type', $uid );

Вы должны заменить «content_profile_type» именем машины того типа контента, который является вашим профилем контента.

Что касается вашего вопроса о том, чтобы запись сообщений осуществлялась без удаленной отладки, я бы предложил использовать функцию dpm (), предоставляемую модулем devel. Для получения дополнительной информации о функции dpm () вы можете посетить http://drupal.org/node/174575

Итак, после загрузки профиля контента вы можете вызвать dpm () примерно так:

dpm($profile);

Который покажет вам информацию о том, что содержится в переменной $ profile в области сообщений вашей темы Drupal.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...