Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Bloque De Ultimos Post Para Cada Foro

Aquí­ podrás dejar tus dudas sobre MODs o MODificaciones de tu phpBB2
  Reglas del Foro
Antes de participar en los foros, leer esto por favor.
Normas generales de phpBB-Es y las de Soporte
kuve
Observador/a
Mensajes: 16
Registrado: 21 May 2006, 18:35

Respuesta: Bloque De Ultimos Post Para Cada Foro

#16

Mensaje por kuve »

El include es este:

Código: Seleccionar todo

 include($phpbb_root_path . 'ultimos.'.$phpEx);
He probado poniendo esto

Código: Seleccionar todo

 include(ultimos.php?f=id_del_foro);
Pero va a ser que no funcionaba, parece que la f tiene que ir asi

Código: Seleccionar todo

http://www.nombredelaweb.com/index.php?f=id_del_foro
Tambien he probado a poner la id del foro directamente en el ultimos.php de esta manera

Código: Seleccionar todo

// si no se pasa f por query string    ->      TODOS LOS FOROS
// si se pasa f por query string   :
//                           si no existe ese foro -> TODOS LOS FOROS
//                           si existe pero no tiene permisos el usuario -> TODOS LOS FOROS

$foro = ( ( is_array( $no_accesibles ) && in_array( $HTTP_GET_VARS['id_del_foro'] , $no_accesibles ) ) || !in_array( $HTTP_GET_VARS['f'] , $accesibles ) ) ? "" : $HTTP_GET_VARS['id_del_foro'];

// Pasamos a primera query el identificador de foro si procede y sino nada
$foro_query = ( $foro == "" ) ? "" : ( " p.forum_id=" . $HTTP_GET_VARS['id_del_foro'] . " AND " );
Un saludo.

kuve
Observador/a
Mensajes: 16
Registrado: 21 May 2006, 18:35

Respuesta: Bloque De Ultimos Post Para Cada Foro

#17

Mensaje por kuve »

Bueno amigos, me puse en contacto con el creador del MOD que me pasasteis y me ayudo a conseguir lo que necesitaba de muy buena gana. Asi que ahora os lo pongo yo aqui para que la gente que lo necesite lo pueda poner en sus foros.

Primero decir que esto lo he usado en ezportal, la unica diferencia es añadir el ultimo include en el index.php o en el portal.php

1.- Crea un archivo llamado ultimos.php con este contenido

Código: Seleccionar todo

<? 
$template->set_filenames(array( 
      'ultimos' => 'ultimos.tpl') 
   ); 
$foro_query = " p.forum_id=" . $ultimosForoId; 

$sql_ini=("SELECT distinct p.topic_id FROM ".POSTS_TABLE."  p, ".TOPICS_TABLE." t WHERE $foro_query  and p.topic_id=t.topic_id ORDER BY t.topic_last_post_id DESC LIMIT 0,10");
if ( !($result_ini = $db->sql_query($sql_ini)) )
      {
         message_die(GENERAL_ERROR, 'No se pudo obtener últimos temas', '', __LINE__, __FILE__, $sql_ini);
      }


while ( $assoc_ini=$db->sql_fetchrow($result_ini) )
   // Para cada topic_id obtenido extraeremos datos necesarios en dos querys
   {
      // Segunda query todos los datos menos el ultimo usuario
      $sql=("SELECT t.topic_last_post_id, t.topic_title, t.topic_id, t.topic_time, t.topic_replies, u.username,u.user_id, f.forum_name, f.forum_id, p.post_id, p.post_time FROM ".POSTS_TABLE." p, ".TOPICS_TABLE." t, ".USERS_TABLE." u, ".FORUMS_TABLE." f WHERE t.topic_poster=u.user_id AND t.topic_id=".$assoc_ini['topic_id']." AND p.post_id=t.topic_last_post_id AND t.forum_id=f.forum_id");
      if ( !($result = $db->sql_query($sql)) )
      {
         message_die(GENERAL_ERROR, 'No se pudo obtener últimos temas', '', __LINE__, __FILE__, $sql);
      }
      while ( $assoc=$db->sql_fetchrow($result) )
      {
         // tercera query ultimo posteador
         $sql_last=("SELECT u.username FROM ".POSTS_TABLE." p, ".USERS_TABLE." u WHERE p.post_id=".$assoc['topic_last_post_id']." AND  p.poster_id=u.user_id");
         if ( !($result_last = $db->sql_query($sql_last)) )
         {
            message_die(GENERAL_ERROR, 'No se pudo obtener últimos temas', '', __LINE__, __FILE__, $sql_last);
         }
         $ultimo_usuario=$db->sql_fetchrow($result_last);
         $ultimo_usuario=$ultimo_usuario['username'];
         $db->sql_freeresult($result_last);
         $fecha_ultimo=getdate($assoc['post_time']);
         $fecha_ultimo=$fecha_ultimo["mday"]."-".$fecha_ultimo["mon"]."-".$fecha_ultimo["year"];
         $fecha_abierto=getdate($assoc['topic_time']);
         $fecha_abierto=$fecha_abierto["mday"]."-".$fecha_abierto["mon"]."-".$fecha_abierto["year"];
         $foro_nombre = $assoc['forum_name'];
         $template->assign_block_vars('ultimos', array(
            'LINK_TITULO'      =>   append_sid( "viewtopic.$phpEx?p=".$assoc['post_id']."&highlight=#".$assoc['post_id'] ),
            'TITULO'         =>   ( ( strlen ( $assoc["topic_title"] ) > 19 ) ? ( substr ( $assoc["topic_title"] , 0 , 19 ) . "..." ) : $assoc["topic_title"] ),
            'LINK_FORO'         =>   append_sid( "viewforum.$phpEx?f=".$assoc["forum_id"] ),
            'FORO'            =>  ( ( strlen ( $assoc["forum_name"] ) > 19 ) ? ( substr ( $assoc["forum_name"] , 0 , 19 ) .    "..." ) : $assoc["forum_name"] ),
            'LINK_CREADOR_TEMA'   =>   append_sid( "profile.$phpEx?mode=viewprofile&u=".$assoc["username"] ),
            'CREADOR_TEMA'      =>   $assoc["username"],
            'CREADOR_FECHA'      =>  $fecha_abierto,
            'LINK_AUTOR_ULTIMO'   =>   append_sid( "profile.$phpEx?mode=viewprofile&u=".$ultimo_usuario ),
            'AUTOR_ULTIMO'      =>   $ultimo_usuario,
            'FECHA_ULTIMO'      =>   $fecha_ultimo,
            'RESPUESTAS'      =>   $assoc["topic_replies"]));
      }
      $db->sql_freeresult($result);
      
   }
$db->sql_freeresult($result_ini);
$template->assign_vars(array(
            'FORO_NOMBRE'      =>   ( ( $foro == "" ) ? "TODOS LOS FOROS" : $foro_nombre ),
            'INDICE'         => append_sid("index.$phpEx" ) ) );
make_jumpbox('index.'.$phpEx);
$template->pparse('ultimos');
$template->destroy('ultimos');
?> 
2.- Sube este archivo al directorio raiz de tu phpbb
3.- Crea un archivo llamado ultimos.tpl con este contenido.

Código: Seleccionar todo

<table align="center" class="forumline" width="100%">
<tr align="right">
      <td class="catHead" colspan="5" height="28"><span class="cattitle"><a href="#" class="cattitle">Últimos mensajes en los foros&nbsp;&nbsp;::&nbsp;&nbsp;{FORO_NOMBRE}</a></span></td>
   </tr>
<tr>
   <th colspan="2">
   Título - Foro
   </th>
   <th>
   Abierto por
   </th>
   <th>
   Último mensaje
   </th>
   <th>
   Respuestas
   </th>
</tr>
<!-- BEGIN ultimos -->
<tr>
   <td class="row1" align="center" height="28">
      <span class="gensmall">
      <a href="{ultimos.LINK_TITULO}">
      {ultimos.TITULO}
      </a>
      </span>
   </td>
   <td class="row1" align="center" height="28">
<span class="gensmall">
      <a href="{ultimos.LINK_FORO}">
         {ultimos.FORO}
      </a></span>

   </td>
   <td class="row1" align="center" height="28">
      <span class="gensmall">
      <a href="{ultimos.LINK_CREADOR_TEMA}">
         {ultimos.CREADOR_TEMA}
      </a> </span>
      &nbsp;<span class="gensmall" height="28">
      el {ultimos.CREADOR_FECHA}</span>

   </td>
   <td class="row1" align="center" height="28">
      <span class="gensmall">
      <a href="{ultimos.LINK_AUTOR_ULTIMO}">
         {ultimos.AUTOR_ULTIMO}
      </a> </span>
      &nbsp;<span class="gensmall">
      el {ultimos.FECHA_ULTIMO}</span>

   <td class="row1" align="center" height="28">
   <span class="gensmall">
   {ultimos.RESPUESTAS}</span>

   </td>
</tr>
  <!-- END ultimos -->
<tr>
<td class="row3" colspan="2" align="center">
<span class="gensmall"><a href="{INDICE}">Todos los foros</a></span></td>
<td class="row3" colspan="3" align="center">
{JUMPBOX}</td>
</tr>
</table>
4.- Subir este archivo al directorio del template que useis.
5.- Abrir vuestro archivo portal.php si lo vais a poner en ezportal o index.php si lo vais a poner en vuestro foro y buscar la siguiente linea

Código: Seleccionar todo

include($phpbb_root_path . 'includes/page_header.'.$phpEx);
6.- Añadir despues de esto, el siguiente codigo cambiando el id_del_foro por el id de los foros que querais poner.

Código: Seleccionar todo

$ultimosForoId=id_del_foro;
include("ultimos.php");
7.- Si quereis poner mas de un bloque solo teneis que añadir tantos de esos como necesiteis, acordandoos de cambiar el id_del_foro. Un saludo y muchas gracias al creado del MOD y los que me ayudaron.

jmluna
Observador/a
Mensajes: 3
Registrado: 24 May 2006, 20:39

Respuesta: Bloque De Ultimos Post Para Cada Foro

#18

Mensaje por jmluna »

Hola Chicos es justo lo que necesito para poner en mi portal http://www.tuarrecife.com

Lo he probado y me funciona pero me aparece debajo del header y sobre los bloques.

Hay alguna forma de poner el include o el codigo para que aparezca debajo del mensaje de bienvenida. Tal cual aparece el bloque de descargas en este foro.

Teniendo en cuenta que soy muy torpe y tengo muy escasos conocimientos.

Gracias por adelantaado.

Avatar de Usuario
mitch
Ex Staff
Mensajes: 4260
Registrado: 04 Sep 2005, 04:28
Género:

Respuesta: Bloque De Ultimos Post Para Cada Foro

#19

Mensaje por mitch »

jmluna será necesario que abras un nuevo post, dandonos los datos de tu foro, mods instalados, plantilla usada y demás para que podamos ver aquello (cuando lo hagas, acuerdate de mencionar este post para que nos acordemos que es esto lo que estas instalando).

Eso, abre un nuevo tema con tus datos, para no liar este. Saludos

eilrax
Usuario/a
Mensajes: 63
Registrado: 12 Jul 2006, 09:27

Respuesta: Bloque De Ultimos Post Para Cada Foro

#20

Mensaje por eilrax »

hize todo lo que explicabas paso a paso pero me da un error :cry:

Warning: main(ultimos.PHP): failed to open stream: No such file or directory in /www/sites/1/iespana.es/c/l/clan-masters/site/foro/index.php on line 237

Warning: main(): Failed opening 'ultimos.PHP' for inclusion (include_path='.:/www/usr/lib/php') in /www/sites/1/iespana.es/c/l/clan-masters/site/foro/index.php on line 237

eso me sale arriba del todo despues de las opciones de inicio, foro, normas, registrate etc etc a que se debe ?
estoi mas que seguro que hize todo bien ya que lo hize 2 veces :P
http://estrenosonline.org/foro/
Mods:
Ninguno
Version: phpBB 2.0.22

SuperNovato
Ex Staff
Mensajes: 2521
Registrado: 15 Mar 2006, 19:34

Respuesta: Bloque De Ultimos Post Para Cada Foro

#21

Mensaje por SuperNovato »

No estoy seguro, pero es que tu foro es un XS.
No sé si ese MOD para phpBB puede aplicarse tal cual a XS (y menos sin saber tu versión de XS).
No sé, alguien sabrá decir de eso.
De todos modos, mira lo que le dice Mitch a jmluna, que también es aplicable en tu caso jejeje

En tiodo caso, marco este interesante tema como solucionado y lo muevo a MODs
(si otro moderador cree que va mejor en plantillas, que lo mueva sin problema ;) ).
Yo no sé casi nada de esto. Pero puedo aprender.
Porque para saber estoy solo. Pero para aprender no.

[hr]Antes de nada, lee las Normas de phpBB-Es, y la siempre útil Guí­a de phpBB en Castellano.
Consulta la Biblioteca (Guías, etc.), y los FAQS de ayuda phpBB para tus problemas. Quizás esté resuelto.
Si es sobre cómo Crear una Consulta SQL ya lo tienes explicado en el enlace.
En general, se pide Buscar antes de preguntar para no repetir preguntas y dudas resueltas.
Sólo tendrás Soporte si facilitas los datos correspondientes y si respetas completamente el Copyright de phpBB.
NOTA: No damos Soporte a los foros integrados en Nuke y derivados del mismo. Infórmate [url=PHP-nuke-y-phpbb-vt1733.html]AQUÍ

petazeta
Observador/a
Mensajes: 4
Registrado: 10 Oct 2006, 17:40

Re: Respuesta: Bloque De Ultimos Post Para Cada Foro

#22

Mensaje por petazeta »

hize todo lo que explicabas paso a paso pero me da un error :cry:

Warning: main(ultimos.PHP): failed to open stream: No such file or directory in /www/sites/1/iespana.es/c/l/clan-masters/site/foro/index.php on line 237

Warning: main(): Failed opening 'ultimos.PHP' for inclusion (include_path='.:/www/usr/lib/php') in /www/sites/1/iespana.es/c/l/clan-masters/site/foro/index.php on line 237

eso me sale arriba del todo despues de las opciones de inicio, foro, normas, registrate etc etc a que se debe ?
estoi mas que seguro que hize todo bien ya que lo hize 2 veces :P el problema es las mayusculas de ultimos.PHP

ponlo en minusculas

un saludo
» Host: http://www.riojaocio.com/foro
» Tipo de foro: XS 2
» Version: Build 058
» Plantilla: Propia
» PhpBB: 2.0.21

diosk
Observador/a
Mensajes: 3
Registrado: 18 Ene 2007, 22:30

Respuesta: Bloque De Ultimos Post Para Cada Foro

#23

Mensaje por diosk »

Hola, al hacer todome sale un error en la Linea 8 del archivo ultimos.php o sea la linea q tiene el siguiente dato

if ( !($result_ini = $DB->sql_query($sql_ini)) )


No podrias ayudarme. Saludos!!!

SuperNovato
Ex Staff
Mensajes: 2521
Registrado: 15 Mar 2006, 19:34

Respuesta: [SOLUCIONADO]Bloque De Ultimos Post Para Cada For

#24

Mensaje por SuperNovato »

diosk:

a) El tema está marcado como solucionado. Así que mejor tu duda en otro tema nuevo.
b) Y poniendo los datos de soporte. En este no los has puesto, así que tercera tarjeta, tú verás si sigues prefiriendo no ponerlos.
Yo no sé casi nada de esto. Pero puedo aprender.
Porque para saber estoy solo. Pero para aprender no.

[hr]Antes de nada, lee las Normas de phpBB-Es, y la siempre útil Guí­a de phpBB en Castellano.
Consulta la Biblioteca (Guías, etc.), y los FAQS de ayuda phpBB para tus problemas. Quizás esté resuelto.
Si es sobre cómo Crear una Consulta SQL ya lo tienes explicado en el enlace.
En general, se pide Buscar antes de preguntar para no repetir preguntas y dudas resueltas.
Sólo tendrás Soporte si facilitas los datos correspondientes y si respetas completamente el Copyright de phpBB.
NOTA: No damos Soporte a los foros integrados en Nuke y derivados del mismo. Infórmate [url=PHP-nuke-y-phpbb-vt1733.html]AQUÍ

diosk
Observador/a
Mensajes: 3
Registrado: 18 Ene 2007, 22:30

Respuesta: [SOLUCIONADO]Bloque De Ultimos Post Para Cada Foro

#25

Mensaje por diosk »

Pido disculpas, pero no sabia q ya estaba solucionado, va no me di cuenta. No lo hice a proposito, es mas yo ya abri un nuevo tema con mi problema, pero me dijeron q busque q alguien habia soluicionado enotro post un problema similar al mio y encontre este, por eso pregunte, perono sabia q no se podia preguntar al tener una duda en un post solucionado. Y si no puse los datos de fue porq entendi cuando lei el reglamento, q solo el q abria el post tenia q hacerlo. Saludos y pido disculpas desde ya. solo buscaba una solucion a mi problema.

arkarian
Observador/a
Mensajes: 37
Registrado: 03 Feb 2007, 21:35

Respuesta: [SOLUCIONADO]Bloque De Ultimos Post Para Cada Foro

#26

Mensaje por arkarian »

tengo un problema con la explicacion de kuve para los ultimos post puesto que cuando pongo los ultimos post de kuve los otrs se me desabilitan porque?
URL: www.elite-psp.com
Plantilla(s) usuada(s): Glass2 Blue
MODs instalados: EzPortal
Version de phpBB: 2.02
Servidor: www.virtualhostingdigital.com

Cerrado

Volver a “Soporte, preguntas sobre MODs de phpBB 2”