Existe un requerimiento habitual que no siempre esta presente en Drupal, normalmente esta resuelto en algún theme, pero no todos lo tienen. Hablo del bloque Bienvenido "usuario" y con la opción de Salir (logout). Existen varias formas de hacerlo y la idea del post es ver dos de ellos.
Opción 1: Creando un bloque y usando el filtro PHP
Este método es bien simple. Para construirlo se necesita tener habilitado el módulo PHP Filter (viene en el core de Drupal). Lo primero que haremos es ir a la sección de bloques y creamos uno nuevo (admin/structure/block/add), en el cuerpo colocamos el código que adjunto más abajo y configuramos que solo se deba mostrar a los usuarios autentificados. A continuación el código:
<?php global $user; print "Bienvenido " . l($user->name, 'user') . " | " . l('Salir', 'user/logout');?>
Opción 2: Creando un bloque con Views
Este método es un poco más complicado pero, personalmente, lo encuentro mejor. Para hacerlo más rápido, más abajo les comparto el código de una vista para que lo importen en sus sitios. Esto generará la vista con un display bloque, listo para dejarlo en alguna región y les imprima el "Bienvenido". Pueden mejorarlo como agregando la foto de perfil.
<?php$view = new view();$view->name = 'welcome';$view->description = '';$view->tag = 'default';$view->base_table = 'users';$view->human_name = 'welcome';$view->core = 7;$view->api_version = '3.0';$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially *//* Display: Master */$handler = $view->new_display('default', 'Master', 'default');$handler->display->display_options['use_more_always'] = FALSE;$handler->display->display_options['access']['type'] = 'role';$handler->display->display_options['access']['role'] = array( 2 => '2',);$handler->display->display_options['cache']['type'] = 'none';$handler->display->display_options['query']['type'] = 'views_query';$handler->display->display_options['exposed_form']['type'] = 'basic';$handler->display->display_options['pager']['type'] = 'some';$handler->display->display_options['pager']['options']['items_per_page'] = '1';$handler->display->display_options['style_plugin'] = 'default';$handler->display->display_options['row_plugin'] = 'fields';$handler->display->display_options['row_options']['inline'] = array( 'name' => 'name', 'nothing' => 'nothing',);$handler->display->display_options['row_options']['separator'] = ' | ';/* Field: User: Name */$handler->display->display_options['fields']['name']['id'] = 'name';$handler->display->display_options['fields']['name']['table'] = 'users';$handler->display->display_options['fields']['name']['field'] = 'name';$handler->display->display_options['fields']['name']['label'] = '';$handler->display->display_options['fields']['name']['alter']['alter_text'] = TRUE;$handler->display->display_options['fields']['name']['alter']['text'] = 'Bienvenido [name]';$handler->display->display_options['fields']['name']['alter']['word_boundary'] = FALSE;$handler->display->display_options['fields']['name']['alter']['ellipsis'] = FALSE;$handler->display->display_options['fields']['name']['element_label_colon'] = FALSE;/* Field: Global: Custom text */$handler->display->display_options['fields']['nothing']['id'] = 'nothing';$handler->display->display_options['fields']['nothing']['table'] = 'views';$handler->display->display_options['fields']['nothing']['field'] = 'nothing';$handler->display->display_options['fields']['nothing']['label'] = '';$handler->display->display_options['fields']['nothing']['alter']['text'] = 'Salir';$handler->display->display_options['fields']['nothing']['alter']['make_link'] = TRUE;$handler->display->display_options['fields']['nothing']['alter']['path'] = 'user/logout';$handler->display->display_options['fields']['nothing']['alter']['alt'] = 'Salir';$handler->display->display_options['fields']['nothing']['alter']['link_class'] = 'logout';$handler->display->display_options['fields']['nothing']['element_label_colon'] = FALSE;/* Sort criterion: User: Created date */$handler->display->display_options['sorts']['created']['id'] = 'created';$handler->display->display_options['sorts']['created']['table'] = 'users';$handler->display->display_options['sorts']['created']['field'] = 'created';$handler->display->display_options['sorts']['created']['order'] = 'DESC';/* Filter criterion: User: Active */$handler->display->display_options['filters']['status']['id'] = 'status';$handler->display->display_options['filters']['status']['table'] = 'users';$handler->display->display_options['filters']['status']['field'] = 'status';$handler->display->display_options['filters']['status']['value'] = '1';$handler->display->display_options['filters']['status']['group'] = 1;$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;/* Filter criterion: User: Current */$handler->display->display_options['filters']['uid_current']['id'] = 'uid_current';$handler->display->display_options['filters']['uid_current']['table'] = 'users';$handler->display->display_options['filters']['uid_current']['field'] = 'uid_current';$handler->display->display_options['filters']['uid_current']['value'] = '1';/* Display: Block */$handler = $view->new_display('block', 'Block', 'block');$handler->display->display_options['block_description'] = 'Bienvenido Usuario';?>
Espero que les pueda ser de utilidad.
Últimos Comentarios