Блок приветствия пользователя DR7

Главные вкладки

Аватар пользователя fil.diesel fil.diesel 14 декабря 2011 в 6:54

Здраствуйте! Наверно я не первый, кто задает подобный вопрос!
В общем как описано в названии темы, нужно после авторизации вывести блок приветствия пользователя...
По гуглив нашел пример решения , проблема в том что автор описывает для D5,а для D6 предлогает модуль...А как устроено в D7 не соображу..
и сразу попутный ворос Каким модулем можно организовать раскрывающиеся меню см. ссылку выше? сильно не пинайте))спасибо!!!

Комментарии

Аватар пользователя Darteg Darteg 14 декабря 2011 в 8:10

Вообще всё можно повесить на views, flag припрячь если нужно отключаемое приветствие, первое что в голову пришло. Если нужно только приветствие можно просто кодом прописать.

Аватар пользователя fil.diesel fil.diesel 14 декабря 2011 в 9:33

Спасибо за ответ. Не подскажите где, и какой код прописать?
Нужно если не зареган показывать форму входа, а если пользователь авторизировался, то сообщение:
"Привет юзер!"

Аватар пользователя fil.diesel fil.diesel 14 декабря 2011 в 17:11

Нашел метод реализации ч.з модуль) осталась проблема, как вывести название пользователя ссылкой? помогите если не затруднит!

<?php
/** 
 * Implementation of hook_block_info().
 */
//Этот хук регистрирует блоки, созданные нашим модулем.
function Hello_user_block_info() {
  
// Формируем массив блока, с определенными ассоциативными ключами
  //'hello' - будет дельтой нашего блока
  
$block['hello'] = array(
    
//ключ 'info' - название блока в списке блоков на странице администрирования
    
'info' => t('Greetings'),
    
//ключ 'cache' - указывает как именно блок будет кешироваться
    
'cache' => DRUPAL_NO_CACHE,
  );
 
  
//возвращаем массив блоков
  
return $block;
}
 
 
/**
 * Implementation of hook_block_view().
 */
//Этот хук отвечает за внешний вид блоков, которые созданы нашим модулем.
//Переменная $delta - это ключ массива $block который мы задали в хуке hook_block_info().
function Hello_user_block_view($delta '') {
  
// обозначаем глобальную переменную текущего пользователя
  
global $user;
 
  
$block = array();
  
//В зависимости от дельты блока формируем его заголовок и контент
  
switch ($delta) {
    case 
'hello':
      
//Формируем заголовок
      
$block['subject'] = t('Добро пожаловать');
      
//Формируем контент в виде ассоциативного массива, который будет обрабатываться с помощью RenderAPI
      
$block['content'] = array(
        
//Определяем тип 'markup' - обычный текст, без функции теминга
        
'#type' => 'markup',
        
//Определяем содержимое этого элемента
        
'#markup' => t("!username, рады вас видеть!", array('!username' => format_username($user))),
      );
 
      break;
  }
 
  return 
$block;
}
?>