Página 1 de 2
Sidebar Left
Publicado: 15 Jul 2009, 12:03
por luffysombrerodepaja
Los datos de soporte están en mi firma para la web
www.webnalup.es
Hola, no sé exactamente si esto va aquí, pero como va con el mod sidebarleft pues pensé que podría postearse aquí.
Resulta que me gustaría poner el recuadro de "Amigos" que aparece en el UCP en esa barra y que aparezca cuando uno está logueado. Lo puse sólo para probar pero no sale, ya que sale con los comandos internos.
Haber quién me puede ayudar.
Gracias.
Re: Sidebar Left
Publicado: 16 Jul 2009, 13:32
por angelismo
Por lo que he visto en tu foro ,el fallo es que no coje la traducción ,y aparte no deberia verlo como invitado
Deduzco que no has crado un arhcivo.php para el bloque.
Re: Sidebar Left
Publicado: 16 Jul 2009, 13:51
por luffysombrerodepaja
Ya sé que se ve como invitado, lo dejé para que se viera de forma fácil XD
Y no, no hice ningún archivo php, simplemente copié el código de la página del UCP y la añadía al de breadcrumbs_sidebar.html, supuse que así valdría.
Para que no aparezca debería ponerlo entre esto no?:
Código: Seleccionar todo
<!-- IF S_USER_LOGGED_IN --> poner lo que sea <!-- ENDIF -->
Re: Sidebar Left
Publicado: 16 Jul 2009, 13:54
por angelismo
Exacto tienes que poner eso para que no se vea como invitado.
Tienes que hacer un fichero php para que el bloque funcione.
Re: Sidebar Left
Publicado: 16 Jul 2009, 14:04
por luffysombrerodepaja
Ufff no sé si sabré hacer un bloque php para que funcione jejeje ya que mis conocimientos php son mu malos, pero trapicheando el otro fichero seguro que saco algo en claro jejejej
Voy a probar y ya posteo por aquí el resultado.
Saludos y muchas gracias.
Re: Sidebar Left
Publicado: 16 Jul 2009, 21:42
por luffysombrerodepaja
Vamos a ver si yo he entendido bién. Hago un archivo php y lo meto en la carpeta includes por ponerla en algún sitio y lo relleno con esto:
Código: Seleccionar todo
<?php
// Check if the zebra module is set
if ($module->is_active('zebra', 'friends'))
{
// Output listing of friends online
$update_time = $config['load_online_time'] * 60;
$sql = $db->sql_build_query('SELECT_DISTINCT', array(
'SELECT' => 'u.user_id, u.username, u.username_clean, u.user_colour, MAX(s.session_time) as online_time, MIN(s.session_viewonline) AS viewonline',
'FROM' => array(
USERS_TABLE => 'u',
ZEBRA_TABLE => 'z'
),
'LEFT_JOIN' => array(
array(
'FROM' => array(SESSIONS_TABLE => 's'),
'ON' => 's.session_user_id = z.zebra_id'
)
),
'WHERE' => 'z.user_id = ' . $user->data['user_id'] . '
AND z.friend = 1
AND u.user_id = z.zebra_id',
'GROUP_BY' => 'z.zebra_id, u.user_id, u.username_clean, u.user_colour, u.username',
'ORDER_BY' => 'u.username_clean ASC',
));
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$which = (time() - $update_time < $row['online_time'] && ($row['viewonline'] || $auth->acl_get('u_viewonline'))) ? 'online' : 'offline';
$template->assign_block_vars("friends_{$which}", array(
'USER_ID' => $row['user_id'],
'U_PROFILE' => get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']),
'USER_COLOUR' => get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour']),
'USERNAME' => get_username_string('username', $row['user_id'], $row['username'], $row['user_colour']),
'USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']))
);
}
$db->sql_freeresult($result);
}
?>
Luego añado por ejemplo al archivo viewforum.php la línea esta:
Código: Seleccionar todo
include($phpbb_root_path . 'includes/NOMBREDEARCHIVOQUEHECREADO.' . $phpEx);
Espero ir al menos algo encaminado XD
Re: Sidebar Left
Publicado: 16 Jul 2009, 23:58
por luffysombrerodepaja
Bueno, mucho he tardado en asomar por aquí XDDD
Me da este fallo:
Código: Seleccionar todo
Fatal error: Call to a member function is_active() on a non-object in /web/htdocs/www.webnalup.es/home/includes/bloque_amigos.php on line 4
Supongo que es algo que he pasado por alto o que me falta aún mucho por aprender de php, pero si alguien me da una pista buena al menos haber si puedo seguir para adelante... XD
Creo que tal vez no he definido una función o algo, no estoy seguro. Eso desde luego aún no sé, si me lo confirmais me informo bién que sino voy a acabar medio majara...
Y gracias nuevamente.
Re: Sidebar Left
Publicado: 22 Jul 2009, 10:00
por luffysombrerodepaja
Aún no sé cómo hacer que valga. ¿Alguien me podría dar una pista o decir qué comandos necesito para buscar tutoriales de cómo hacerlo?
Gracias.
Re: Sidebar Left
Publicado: 22 Jul 2009, 15:43
por dvd_alon
A que te refieres con sidebar left?
La barra de la izquierda? Como la de este foro?
Si es asi dilo y te pongo los enlaces que me sirvieron a mi para ponerla
Un saludo.
Re: Sidebar Left
Publicado: 23 Jul 2009, 08:53
por luffysombrerodepaja
Que va no es eso, es una modificación para poder poner el recuadro de "Amigos" que sale en el ACP justo en esa barra, lo que pasa es que lo he quitado del foro para poder seguir trabajando. Me cito de más arriba para que veas lo que quiero hacer:
luffysombrerodepaja escribió:Vamos a ver si yo he entendido bién. Hago un archivo php y lo meto en la carpeta includes por ponerla en algún sitio y lo relleno con esto:
Código: Seleccionar todo
<?php
// Check if the zebra module is set
if ($module->is_active('zebra', 'friends'))
{
// Output listing of friends online
$update_time = $config['load_online_time'] * 60;
$sql = $db->sql_build_query('SELECT_DISTINCT', array(
'SELECT' => 'u.user_id, u.username, u.username_clean, u.user_colour, MAX(s.session_time) as online_time, MIN(s.session_viewonline) AS viewonline',
'FROM' => array(
USERS_TABLE => 'u',
ZEBRA_TABLE => 'z'
),
'LEFT_JOIN' => array(
array(
'FROM' => array(SESSIONS_TABLE => 's'),
'ON' => 's.session_user_id = z.zebra_id'
)
),
'WHERE' => 'z.user_id = ' . $user->data['user_id'] . '
AND z.friend = 1
AND u.user_id = z.zebra_id',
'GROUP_BY' => 'z.zebra_id, u.user_id, u.username_clean, u.user_colour, u.username',
'ORDER_BY' => 'u.username_clean ASC',
));
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$which = (time() - $update_time < $row['online_time'] && ($row['viewonline'] || $auth->acl_get('u_viewonline'))) ? 'online' : 'offline';
$template->assign_block_vars("friends_{$which}", array(
'USER_ID' => $row['user_id'],
'U_PROFILE' => get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']),
'USER_COLOUR' => get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour']),
'USERNAME' => get_username_string('username', $row['user_id'], $row['username'], $row['user_colour']),
'USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']))
);
}
$db->sql_freeresult($result);
}
?>
Luego añado por ejemplo al archivo viewforum.php la línea esta:
Código: Seleccionar todo
include($phpbb_root_path . 'includes/NOMBREDEARCHIVOQUEHECREADO.' . $phpEx);
Espero ir al menos algo encaminado XD
Angelismo me dijo que iba bien, pero mis conocimientos de php son casi nulos y necesito que me encaminen algo para poder hacerlo ya que después de estas modificaciones claramente necesita más, ya que me da este error:
Código: Seleccionar todo
Fatal error: Call to a member function is_active() on a non-object in /web/htdocs/www.webnalup.es/home/includes/bloque_amigos.php on line 4
Pues eso, si sabes de que va, si me orientas me harías un gran favor.
Saludos.
Re: Sidebar Left
Publicado: 23 Jul 2009, 16:25
por dvd_alon
Lo acabo de poner en mi foro, hechale un vistazo a ver si es eso. Lo he puesto un poco chapucero y luego lo colocare mejor.
Si es eso lo que quieres comentalo y a la noche o mañana te pongo como es.
Un saludo.
Re: Sidebar Left
Publicado: 24 Jul 2009, 06:11
por luffysombrerodepaja
Yo no veo ninguna tabla de amigos, ¿he de registrarme? en qué foro es? ¿Tienes algún user de prueba?
Re: Sidebar Left
Publicado: 24 Jul 2009, 14:51
por dvd_alon
Tienes razon, no me di cuenta de solo es para registrados. En el de lo coches hibridos por cierto es. El unico que tiene la barra lateral.
Basicamante pone:
Amigos:
Conectados:
- XXXXX
-YYYYYY
Desconectados:
-ZZZZZZZ
-FFFFFFFF
Re: Sidebar Left
Publicado: 28 Jul 2009, 11:57
por luffysombrerodepaja
Eso es exactamente lo que quiero amigo. ¿Cómo lo has conseguido?
Re: Sidebar Left
Publicado: 01 Ago 2009, 23:00
por dvd_alon
Mira este
post
Debes hacer lo que te pone alli, quizas el archivo no sea necesario añadirlo.
Debes sustituir la parte que pone agregar entes por esto otro:
Código: Seleccionar todo
<br><div class="navbar">
<div class="inner">
<span class="corners-top"><span></span></span>
<!-- IF not S_IS_BOT and S_USER_LOGGED_IN and S_ZEBRA_ENABLED and S_DISPLAY_FRIENDS -->
<!-- INCLUDE portal/block/online_friends.html -->
<!-- ENDIF -->
<span class="corners-bottom"><span></span></span></div>
</div>
<br />
Con esto creo que puedes usar todos los bloques del prtal para la barra. Digo creo porque no he probado con todos, pero con este que tu pides si lo probe.
Culauqier cosa que pueda ayudarte comentame, no te respondi antes porque estaba de vacaciones.
Un saludo.