Блок с профилем текущего юзера [РЕШЕНО]

Прислано: Mail4iK

пн, 02/02/2009 - 07:12

Как сделать, чтобы на странице выводился блок с информацией о текущем пользователе?

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано choy в пн, 02/02/2009 - 08:18.

Можно вручную сделать: /admin/build/block/add

input format: php-code

Все данные в переменной $user


Опубликовано olk в пн, 02/02/2009 - 08:22.

<?php
global $user;
$account user_load(array('uid' => $user->uid));
if (
$use_fields variable_get('profile_block_author_fields', array())) {
 
// Compile a list of fields to show.
 
$fields = array();
 
$result db_query('SELECT name, title, type, visibility, weight FROM {profile_fields} 
WHERE visibility IN (%d, %d) ORDER BY weight'
PROFILE_PUBLICPROFILE_PUBLIC_LISTINGS);
while (
$record db_fetch_object($result)) {
// Ensure that field is displayed only if it is among the defined block fields and, 
// if it is private, the user has appropriate permissions.
     
if (isset($use_fields[$record->name]) && $use_fields[$record->name]) {
        
$fields[] = $record;
         }
       }
     }
$output '';
if (!empty(
$fields)) {
   
$profile _profile_update_user_fields($fields$account);
   
$output  theme('profile_block'$account$profileTRUE);
}
return 
$output;
?>


Опубликовано Mail4iK в пн, 02/02/2009 - 09:24.

Спасибо большое


Опубликовано Serebron в пн, 02/02/2009 - 17:44.

А можно теперь для тупых объяснить что и куда писать? Как это дело вывести?


Опубликовано Valeratal в пн, 02/02/2009 - 17:53.

спасибо, полезно


Опубликовано olk в пн, 02/02/2009 - 18:48.

Идете в Управление > Конструкция сайта > Блоки (Закладка «добавить блок») (admin/build/block/add)
В текст блока вставляете приведенный код, ставите формат ввода PHP code, даете название блоку, сохраняете.
Далее размещаете блок в нужном вам регионе ...
Вроде все - остальные настройки область видимости и кому виден по своему усмотрению ...
(так как анонимусам блок все равно ничего не выводит, то наверное имеет смысл проставить видимость
для всех ролей кроме анонимусов)
PS. Блок будет работать только если задействован стандартный модуль Profile, поэтому корректней в сниппете
проверить включен ли этот модуль

if(module_exists('profile')) {
//
//код сниппета
// 
}


Опубликовано Serebron в пн, 02/02/2009 - 21:41.

Спасибо, но я так и делал (и не раз) :(


Опубликовано beerman в вт, 03/02/2009 - 03:51.

php в базе - зло (с) кто-то


Опубликовано olk в вт, 03/02/2009 - 07:48.

Посмотрите Новый модуль WrapperBlocks , может поможет :)


Опубликовано Serebron в вт, 03/02/2009 - 17:26.

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


Новое на сайте

Ссылки партнёров