Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Drupal »

Bloque mi cuenta personalizado

Estas en el tema de Bloque mi cuenta personalizado en el foro de Drupal en Foros del Web. Hola gente , estoy intentando crear una vista con una imagen del usuario logeado, un link "editar cuenta" y otro "cerrar sesión" ; pero no ...
  #1 (permalink)  
Antiguo 27/07/2011, 01:40
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 5 meses
Puntos: 8
Bloque mi cuenta personalizado

Hola gente , estoy intentando crear una vista con una imagen del usuario logeado, un link "editar cuenta" y otro "cerrar sesión" ; pero no encuentro la manera con las vistas de crear estos dos últimos (cerrar sesión y editar cuenta).

Gracias de antemano.
__________________
Videotutoriales de Drupal
  #2 (permalink)  
Antiguo 27/07/2011, 04:28
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años, 1 mes
Puntos: 890
Respuesta: Bloque mi cuenta personalizado

Para que usar views........
La variable $user viaja por todo el sitio, con ello la session con los datos. Asi que solo basta identificar estos datos a imprimirlos en tu template o bloque.

Código PHP:
Ver original
  1. global $user;
  2. print_r($user);
  3.  
  4. stdClass Object
  5. (
  6.     [uid] => 1
  7.     [name] => admin
  8.     [pass] => c93ccd78b2076528346216b3b2f701e6
  9.     [mail] => admin@hosttest.com
  10.     [mode] => 0
  11.     [sort] => 0
  12.     [threshold] => 0
  13.     [theme] =>
  14.     [signature] =>
  15.     [signature_format] => 0
  16.     [created] => 1298826300
  17.     [access] => 1311762270
  18.     [login] => 1311546111
  19.     [status] => 1
  20.     [timezone] => -10800
  21.     [language] =>
  22.     [picture] =>
  23.     [init] => admin@hosttest.com
  24.     [data] => a:1:{s:13:"form_build_id";s:37:"form-e2671a72e7f5851dde56350b2081e56c";}
  25.     [timezone_name] =>
  26.     [sid] => 1c0527c519cbf9bddcd2d254aa0a7119
  27.     [hostname] => 127.0.0.1
  28.     [timestamp] => 1311762270
  29.     [cache] => 0
  30.     [session] => node_overview_filter|a:1:{i:0;a:2:{i:0;s:4:"type";i:1;s:4:"faqs";}}
  31.     [form_build_id] => form-e2671a72e7f5851dde56350b2081e56c
  32.     [roles] => Array
  33.         (
  34.             [2] => authenticated user
  35.         )
  36.  
  37. )

Si quieres imprimir por ejemplo el picture:

global $user;
print $user->picture;
etc....
__________________
Drupal Argentina
  #3 (permalink)  
Antiguo 27/07/2011, 06:16
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 5 meses
Puntos: 8
Respuesta: Bloque mi cuenta personalizado

Cita:
Iniciado por NUCKLEAR Ver Mensaje
P

Si quieres imprimir por ejemplo el picture:

global $user;
print $user->picture;
etc....
Gracias eso esta muy bien , pero el problema es que si lo hago de este modo:

Por ejemplo creo un bloque con este código:
Código:
<?php global $user; ?> 
<table >
<tr>
<td rowspan="2"><img src="<?php print $user->picture;?>" alt="mi foto" /></td>
<td><a href="user/<?php print $user->uid?>">Mi cuenta</a></td>
</tr>
<tr>
<td><a href="logout">Cerrar sesión</a></td>
</tr>
</table>
En una página se verá la imagen y en otras no:
la página 1 muestra esto (le llamo 1 por llamarle de algún modo), es decir no encuentra la imagen en esa ruta:
user/sites/default/files/pictures/picture-1.jpg

La página 2 si encuentra la ruta (ya que esta cambia según desde la página que mire el bloque):
sites/default/files/pictures/picture-1.jpg

¿Como puedo hacer para crear un bloque y que se muestre la imagen siempre independientemente desde la página que se este viendo del sitio?.

Mil gracias
__________________
Videotutoriales de Drupal
  #4 (permalink)  
Antiguo 27/07/2011, 16:34
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años, 1 mes
Puntos: 890
Respuesta: Bloque mi cuenta personalizado

Sabes que son rutas relativas? rutas absolutas? ¬¬

Usa $base_url

Código PHP:
Ver original
  1. <?php global $user; global $base_url; ?>
  2. <table >
  3. <tr>
  4. <td rowspan="2"><img src="<?php print $base_url . '/'. $user->picture;?>" alt="mi foto" /></td>
  5.  
  6. ................
__________________
Drupal Argentina
  #5 (permalink)  
Antiguo 28/07/2011, 01:25
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 5 meses
Puntos: 8
Respuesta: Bloque mi cuenta personalizado

Cita:
Iniciado por NUCKLEAR Ver Mensaje
Sabes que son rutas relativas? rutas absolutas? ¬¬

Usa $base_url
Gracias NUCLEAR por tu ayuda, un poco más tarde caí en la cuenta. pego el código por si a alguien le sirve de guía.

Código:
<?php global $user; 
global $base_path;

if (!$user->picture)
$foto="images/perfil.png";
else
$foto="$user->picture";
?> 
<table width="160" class="mi_cuenta">
<tr>
<td width="45" rowspan="3" valign="top" class="avatar"><img src="<?php print $base_path ?>/<?php print $foto;?>" alt="foto perfil" /></td>
<th align="left"><strong><?php print trim($user->name);?></strong></th>
</tr>
<tr>
<td align="left" valign="bottom"><a href="<?php print $base_path ?>/user/<?php print $user->uid?>">Mi cuenta</a></td>
</tr>
<tr>
<td width="103" align="left" valign="top"><a href="<?php print $base_path ?>/logout">Cerrar sesión</a></td>
</tr>
</table>
__________________
Videotutoriales de Drupal
  #6 (permalink)  
Antiguo 29/07/2011, 18:44
raulfw
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Bloque mi cuenta personalizado

mmm... que interesante!

Etiquetas: personalizado, tema, bloques
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:35.