Създаване на блок с два линка - login | register, които след логване се заменят с името на потребителя и logout.
За целта е необходим colorbox с включена подръжка на forms в настройките му.
От следния код се прави/добавя в модул или се добавя в template.php на текущата тема.
Забележка: В случай, че имате в темата вече hook_block_info и/или hook_block_view, добавете съответния код в него.
/** * Implements hook_block_info(). */ function THEME_NAME_login_menu_block_info() { $blocks['block_login_menu'] = array( 'info' => t('Login menu'), ); return $blocks; } /** * Implements hook_block_view(). */ function THEME_NAME_login_menu_block_view($delta = '') { $block = array(); switch ($delta) { case 'block_login_menu': $block['subject'] = t('Login block menu'); $block['content'] = _my_login_block_content(); break; } return $block; } function _my_login_block_content() { global $user; $output = ''; $items = array(); switch ($user -> uid) { case 0: $items[] = l(t('Sign in'), 'user/login', array('attributes' => array('title' => t('Sign in')))); $items[] = l(t('Register'), 'colorbox/form/user_register_form', array('query' => array('width' => '300', 'height' => 'auto'), 'attributes' => array('title' => t('Register own account in site'), 'class' => array('colorbox-load')))); break; default: $items[] = l($user -> name, 'user/' . $user -> uid, array('attributes' => array('title' => t('Personal settings')))); $items[] = l(t('Logout'), 'user/logout', array('attributes' => array('title' => t('Logout')))); } $output = implode(' | ', $items); return $output; }
Categories: