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.
Algunos dudas con últimos post del foroTema Solucionado
Algunos dudas con últimos post del foro
Hola, lo primero agradecer a toda la comunidad phpBB-ES el gran esfuerzo realizado y la paciencia que tienen para que gente como yo consiga tener un gran foro.
Estoy intentando hacer un sistema de noticias en una página que creé dentro del foro. La url es Pagina creada de ultimos post.
El sistema de ultimos post lo he creado siguiendo la primera opcion de este turorial: http://www.phpbb-es.com/foro/guias-phpb ... 25012.html
Ahora aquí mis dudas. ¿Podría hacer, con esa primera opción, que me mostrara los ultimos post de un foro en concreto? He visto en ese tutorial que en las opciones para página externa si se puede.
Otra duda. ¿Podria hacer que cuando muestre el cuerpo del mensaje limite el numero de caracteres a mostras? Lo digo por si son noticias largas que me muestre por ejemplo los primeros 500 caracteres.
Estoy intentando hacer un sistema de noticias en una página que creé dentro del foro. La url es Pagina creada de ultimos post.
El sistema de ultimos post lo he creado siguiendo la primera opcion de este turorial: http://www.phpbb-es.com/foro/guias-phpb ... 25012.html
Ahora aquí mis dudas. ¿Podría hacer, con esa primera opción, que me mostrara los ultimos post de un foro en concreto? He visto en ese tutorial que en las opciones para página externa si se puede.
Otra duda. ¿Podria hacer que cuando muestre el cuerpo del mensaje limite el numero de caracteres a mostras? Lo digo por si son noticias largas que me muestre por ejemplo los primeros 500 caracteres.
Re: Algunos dudas con últimos post del foro
en esa guia leete donde dice: Ejemplo 2: Últimos posts de un foro en específico
creo q eso es lo que buscas....
otra opcion es instalar este mod: http://www.phpbb-es.com/foro/descarga-m ... 27713.html y seleccionar el foro q deseas que se muestre.
creo q eso es lo que buscas....
otra opcion es instalar este mod: http://www.phpbb-es.com/foro/descarga-m ... 27713.html y seleccionar el foro q deseas que se muestre.
Re: Algunos dudas con últimos post del foro
Podrías poner el código que tú has usado y así poder decirte como hacerlo?
Claro que se puede, pero es necesario saber que código estas usando para decirte que debes agregar.
Claro que se puede, pero es necesario saber que código estas usando para decirte que debes agregar.
Re: Algunos dudas con últimos post del foro
Siento no haber puesto el código. El código agregado es el siguiente:
En lapáginaagregadaalforo.php esto:
En el template de dicha página.html esto:
En lapáginaagregadaalforo.php esto:
Código: Seleccionar todo
// bloque últimos posts - mitch - phpBB-Es
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
function create_where_clauses($gen_id, $type)
{
global $db, $auth;
$size_gen_id = sizeof($gen_id);
switch($type)
{
case 'forum':
$type = 'forum_id';
break;
case 'topic':
$type = 'topic_id';
break;
default:
trigger_error('No type defined');
}
$out_where = '';
if ($size_gen_id > 0)
{
$auth_f_read = array_keys($auth->acl_getf('f_read', true));
if ($type == 'topic_id')
{
$sql = 'SELECT topic_id FROM ' . TOPICS_TABLE . '
WHERE ' . $db->sql_in_set('topic_id', $gen_id) . '
AND ' . $db->sql_in_set('forum_id', $auth_f_read);
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$topic_id_list[] = $row['topic_id'];
}
unset($gen_id);
$gen_id = $topic_id_list;
$size_gen_id = sizeof($gen_id);
}
$j = 0;
for ($i = 0; $i < $size_gen_id; $i++)
{
$id_check = (int) $gen_id[$i]; // If the type is topic, all checks have been made and the query can start to be built if( $type == 'topic_id' ) { $out_where .= ($j == 0) ? 'WHERE ' . $type . ' = ' . $id_check . ' ' : 'OR ' . $type . ' = ' . $id_check . ' '; } // If the type is forum, do the check to make sure the user has read permissions else if( $type == 'forum_id' && $auth->acl_get('f_read', $id_check) )
{
$out_where .= ($j == 0) ? 'WHERE ' . $type . ' = ' . $id_check . ' ' : 'OR ' . $type . ' = ' . $id_check . ' ';
}
$j++;
}
}
if ($out_where == '' && $size_gen_id > 0)
{
trigger_error('A list of topics/forums has not been created');
}
return $out_where;
}
// Número de últimos posts a mostrar (editar el 5 si así lo deseas):
$search_limit = 5;
$posts_ary = array(
'SELECT' => 'p.*, t.*, u.username, u.user_colour',
'FROM' => array(
POSTS_TABLE => 'p',
),
'LEFT_JOIN' => array(
array(
'FROM' => array(USERS_TABLE => 'u'),
'ON' => 'u.user_id = p.poster_id'
),
array(
'FROM' => array(TOPICS_TABLE => 't'),
'ON' => 'p.topic_id = t.topic_id'
),
),
'WHERE' => $db->sql_in_set('t.forum_id', array_keys($auth->acl_getf('f_read', true))) . '
AND t.topic_status <> ' . ITEM_MOVED . '
AND t.topic_approved = 1',
'ORDER_BY' => 'p.post_id DESC',
);
$posts = $db->sql_build_query('SELECT', $posts_ary);
$posts_result = $db->sql_query_limit($posts, $search_limit);
while ($posts_row = $db->sql_fetchrow($posts_result))
{
$topic_title = $posts_row['topic_title'];
$topic_title = censor_text($topic_title);
$post_author = get_username_string('full', $posts_row['poster_id'], $posts_row['username'], $posts_row['user_colour']);
$post_date = $user->format_date($posts_row['post_time']);
$post_link = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "p=" . $posts_row['post_id'] . "#p" . $posts_row['post_id']);
$post_text = nl2br($posts_row['post_text']);
$bbcode = new bbcode(base64_encode($bbcode_bitfield));
$bbcode->bbcode_second_pass($post_text, $posts_row['bbcode_uid'], $posts_row['bbcode_bitfield']);
$post_text = smiley_text($post_text);
$template->assign_block_vars('last_topics', array(
'TOPIC_TITLE' => censor_text($topic_title),
'POST_AUTHOR' => $post_author,
'POST_DATE' => $post_date,
'POST_LINK' => $post_link,
'POST_TEXT' => censor_text($post_text),
));
}
// Fin bloque últimos posts - mitch - phpBB-Es
Código: Seleccionar todo
<div class="forabg">
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="topiclist">
<li class="header">
<dl class="icon">
<dt>Últimos Posts</dt>
</dl>
</li>
</ul>
<ul class="topiclist forums">
<li class="row">
<dl>
<dt>
<!-- BEGIN last_topics -->
<a href="{last_topics.POST_LINK}">{LAST_POST_IMG}</a> <a href="{last_topics.POST_LINK}" class="forumtitle">{last_topics.TOPIC_TITLE}</a> por {last_topics.POST_AUTHOR} - {last_topics.POST_DATE}<br />
<!-- END last_topics -->
</dt>
</dl>
</li>
</ul>
<span class="corners-bottom"><span></span></span></div>
</div>
Re: Algunos dudas con últimos post del foro
Cambia el contenido del archivo .php por el siguiente:
Donde:
Y en el archivo .html cambia:Por:
Con eso te debe funcionar tal como lo quieres.
Código: Seleccionar todo
// bloque últimos posts - mitch - phpBB-Es
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
// Número de últimos posts a mostrar (editar el 5 si así lo deseas):
$search_limit = 5;
$forum_id = array(12);
$num_char = 500;
$posts_ary = array(
'SELECT' => 't.forum_id, t.topic_id, t.topic_title, t.topic_type, t.topic_first_post_id, t.topic_first_poster_name, t.topic_first_poster_colour, t.topic_time, t.topic_poster, p.post_text, p.bbcode_uid, p.bbcode_bitfield',
'FROM' => array(
TOPICS_TABLE => 't',
),
'LEFT_JOIN' => array(
array(
'FROM' => array(POSTS_TABLE => 'p'),
'ON' => 't.topic_first_post_id = p.post_id')
),
'WHERE' => $db->sql_in_set('t.forum_id', $forum_id) . '
AND t.topic_status <> ' . ITEM_MOVED . '
AND t.topic_approved = 1
OR t.forum_id = 0', //OR t.forum_id = 0, esta linea es para que muestre tambien los globales ya que el id del foro de estos es 0
'ORDER_BY' => 't.topic_id DESC'
);
$posts = $db->sql_build_query('SELECT', $posts_ary);
$posts_result = $db->sql_query_limit($posts, $search_limit);
while ($posts_row = $db->sql_fetchrow($posts_result))
{
$topic_title = $posts_row['topic_title'];
$topic_title = censor_text($topic_title);
$post_author = get_username_string('full', $posts_row['topic_poster'], $posts_row['topic_first_poster_name'], $posts_row['topic_first_poster_colour']);
$post_date = $user->format_date($posts_row['topic_time']);
$post_link = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $posts_row['forum_id'] . '&t=' . $posts_row['topic_id'] . '#p' . $posts_row['topic_first_post_id']);
$post_text = nl2br($posts_row['post_text']);
$bbcode_bitfield = '';
// Define the global bbcode bitfield, will be used to load bbcodes
$bbcode_bitfield = $bbcode_bitfield | base64_decode($posts_row['bbcode_bitfield']);
// Instantiate BBCode if need be
if ($bbcode_bitfield !== '')
{
$bbcode = new bbcode(base64_encode($bbcode_bitfield));
}
$bbcode->bbcode_second_pass($post_text, $posts_row['bbcode_uid'], $posts_row['bbcode_bitfield']);
$post_text = smiley_text($post_text);
$template->assign_block_vars('last_topics', array(
'TOPIC_TITLE' => censor_text($topic_title),
'POST_AUTHOR' => $post_author,
'POST_DATE' => $post_date,
'POST_LINK' => $post_link,
'POST_TEXT' => substr(censor_text($post_text), 0, $num_char),
));
}
// Fin bloque últimos posts - mitch - phpBB-Es
$forum_id = array(12);
tiene el ID o los IDs de los foros que quieres que se muestre el contenido, cambiando el 12 por el ID del foro.$num_char = 500;
Es el número de caracteres a mostrarY en el archivo .html cambia:
Código: Seleccionar todo
<!-- BEGIN last_topics -->
<a href="{last_topics.POST_LINK}">{LAST_POST_IMG}</a> <a href="{last_topics.POST_LINK}" class="forumtitle">{last_topics.TOPIC_TITLE}</a> por {last_topics.POST_AUTHOR} - {last_topics.POST_DATE}<br />
<!-- END last_topics -->
Código: Seleccionar todo
<!-- BEGIN last_topics -->
<a href="{last_topics.POST_LINK}">{LAST_POST_IMG}</a> <a href="{last_topics.POST_LINK}" class="forumtitle">{last_topics.TOPIC_TITLE}</a> por {last_topics.POST_AUTHOR} - {last_topics.POST_DATE}<br /><p>{last_topics.POST_TEXT}</p><hr />
<!-- END last_topics -->
Re: Algunos dudas con últimos post del foro
Debe de haber algún problema en el código que he tenido que cambiar en el php que me diste, al cambiarlo no me carga la página, ésta se queda en blanco. 

Re: Algunos dudas con últimos post del foro
Que extraño... si quieres puedes adjuntar el archivo php para ver en que falla, porque si hiciste todos los cambios como los indique, no tendría porque haber problema alguno.
Re: Algunos dudas con últimos post del foro
Adjunto el archivo php. Lo más problable es que halla hecho algo mal, pero no se.
Gracias
Gracias
- leviatan21
- Mensajes: 8279
- Registrado: 26 Mar 2008, 20:06
- Género:
- Edad: 55
Re: Algunos dudas con últimos post del foro
Te olvidaste...Frogman escribió:Adjunto el archivo php
Normas de phpBB España | Normas de Soporte
No doy soporte por privado : tenga en cuenta que su problema, también puede ser el problema de otro usuario.
Cualquier mensaje privado no solicitado será ignorado
"Education is what remains after one has forgotten everything he learned in school" - Albert Einstein
No doy soporte por privado : tenga en cuenta que su problema, también puede ser el problema de otro usuario.
Cualquier mensaje privado no solicitado será ignorado

"Education is what remains after one has forgotten everything he learned in school" - Albert Einstein
Re: Algunos dudas con últimos post del foro
Me olvide si
Adjunto tambien el archivo html del theme

Adjunto tambien el archivo html del theme
- Adjuntos
-
historia.zip
- historia.php e historia.html
- (1.83 KiB) Descargado 107 veces
Re: Algunos dudas con últimos post del foro
Te sale en blanco o te sale la pagina pero no te lista los temas?
Yo creo que es porque no has puesto el ID del foro del que quieres que se muestren las noticias.
Yo creo que es porque no has puesto el ID del foro del que quieres que se muestren las noticias.
Re: Algunos dudas con últimos post del foro
La pagina entera se queda en blanco, es decir, no la carga. El id del foro si está puesto
$forum_id = array(4);
Re: Algunos dudas con últimos post del foro Tema Solucionado
A mi me carga común y corriente... y lo único que hice fue tomar tus archivos y ponerlos en un foro.
Tienes el modo DEBUG habilitado?
Intenta hacer este cambio:por esto:
Tienes el modo DEBUG habilitado?
Intenta hacer este cambio:
Código: Seleccionar todo
// Instantiate BBCode if need be
if ($bbcode_bitfield !== '')
{
$bbcode = new bbcode(base64_encode($bbcode_bitfield));
}
$bbcode->bbcode_second_pass($post_text, $posts_row['bbcode_uid'], $posts_row['bbcode_bitfield']);
Código: Seleccionar todo
// Instantiate BBCode if need be
if ($bbcode_bitfield !== '')
{
$bbcode = new bbcode(base64_encode($bbcode_bitfield));
$bbcode->bbcode_second_pass($post_text, $posts_row['bbcode_uid'], $posts_row['bbcode_bitfield']);
}
Re: Algunos dudas con últimos post del foro
Ahora si, gracias Alorse. 
Muchas gracias.

Muchas gracias.
Re: Algunos dudas con últimos post del foro
Hola otra vez.
Tabajando con este sistema de implementacion de ultimos post para hacer un sistema de noticias me han sugido nuevas dudas, se que el tema está dado como solucionado,no se si deberia ponerlas aqui o abrir un tema nuevo, pero como son relacionados con lo mismo... pues lo pongo aqui.
Bueno, mis dudas son las siguientes:
Me gustaria que los post se mostraran por orden de publicación del post padre, el problema del sistema que uso ahora es que si un usuario contesta a una noticia ésta se pone en primer lugar automaticamente en el foro (cosa inevitable) y en mi página donde muestro las noticias (eso es lo que me gustaria evitar)
Otra duda es como podría hacer que se muestren 5 noticias completas (Asunto, una imágen, fecha y texto) y luego las 5 siguientes solo asunto y fecha. Eso se aria metiendo otro bloque de noticias que se saltara las 5 primeras. No se, tal vez estoy pidiendo demasiado, yo y mis cabezonerias.
Gracias.

Tabajando con este sistema de implementacion de ultimos post para hacer un sistema de noticias me han sugido nuevas dudas, se que el tema está dado como solucionado,no se si deberia ponerlas aqui o abrir un tema nuevo, pero como son relacionados con lo mismo... pues lo pongo aqui.
Bueno, mis dudas son las siguientes:
Me gustaria que los post se mostraran por orden de publicación del post padre, el problema del sistema que uso ahora es que si un usuario contesta a una noticia ésta se pone en primer lugar automaticamente en el foro (cosa inevitable) y en mi página donde muestro las noticias (eso es lo que me gustaria evitar)
Otra duda es como podría hacer que se muestren 5 noticias completas (Asunto, una imágen, fecha y texto) y luego las 5 siguientes solo asunto y fecha. Eso se aria metiendo otro bloque de noticias que se saltara las 5 primeras. No se, tal vez estoy pidiendo demasiado, yo y mis cabezonerias.

Gracias.