xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Программно авторизовать пользователя по uid

Опубликовано в

После выполнения кода, текущий аноним залогинится под юзером номер 123:

global $user;
$user = user_load(123);
user_login_finalize();
Написанное актуально для Drupal 7
Похожие записи

Комментарии RSS

Письмо в рубрику "Народные советы". Xandeadx, глянь лайвхак для Друпала, имхо, это поможет многим начинающим друпалерам.

Проверка блоков происходит достатчно "рано", поэтому можно много чего упростить, при разработке "на коленке".

Чтобы добавить хлебные крошки без кастом-модуля (нужен только модуль php-формата) я сделал так:

Создал пустой блок, назову его "Системный", в настройках блока "Показывать блок на определенных страницах" - "Если введённый PHP-код возвращает значение TRUE"

Пишем почти любой код:

<?php
/* для представления */
if(($view = views_get_page_view()) && ($view->name == 'my_view') && ($view->current_display == 'my_display')) {
      $breadcrumb = drupal_get_breadcrumb();
      $breadcrumb[] = l('Мой дисплей', 'my_view_display_url');
      drupal_set_breadcrumb($breadcrumb);
      return FALSE;
}
 
/* для ноды */
if (arg(0) == 'node' AND is_numeric(arg(1)) AND arg(2) == FALSE) {
    $node = node_load(arg(1));
    if ($node->type == 'article') {
      $breadcrumb = drupal_get_breadcrumb();
      $breadcrumb[] = l('Статьи', 'my_article_view_display_url');
      drupal_set_breadcrumb($breadcrumb);
      return FALSE;
    }
}
return FALSE;
?>

Авторизация верна. а вот коммент...
Хорошо написла код. .... зачем он там если всегда вернёт FALSE?

Наверное в условиях должно возвращаться TRUE/

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании