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.

Últimos mensajes por categorías en nueva página

Foros donde podréis dejar vuestras dudas sobre phpBB 3.0.x
Cerrado

0
No hay votos
 
Votos totales: 0

gustav
Observador/a
Mensajes: 13
Registrado: 12 Jun 2009, 14:44

Últimos mensajes por categorías en nueva página

#1

Mensaje por gustav »

URL: http://www.entre88teclas.es/foro
Versión phpBB: 3.0.10
MODs Instalados: Ninguno
Plantilla(s) usada(s): Prosilver (modificada)
Servidor:
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No

Estoy intentando hacer una página nueva en el foro con un listado de últimos mensajes ordenados por categorías y por más que he usado el buscador no he encontrado nada así. He intentado adaptar alguno de los códigos de últimos mensajes para páginas externas y no he conseguido nada.

La idea es algo similar a esto: http://www.clubmazda.es/foros/ultimos.php

¿Sabéis si hay algún código de los archivos php+html por ahí?

gustav
Observador/a
Mensajes: 13
Registrado: 12 Jun 2009, 14:44

Re: Últimos mensajes por categorías en nueva página

#2

Mensaje por gustav »

Tengo un código con el que trabajar, aunque no es por categoría, pero se pueden seleccionar todos los foros de una categoría, y tengo dos problemas:

1.- Me carga los últimos temas creados del foro seleccionado y no los últimos temas que tengan una respuesta más reciente, que es lo que quiero.
2.- ¿Cómo sería el código de un archivo .html para este .php, para poder darle el aspecto del viewforum.php?

Código: Seleccionar todo

<?php 

// Path to the phpBB 3.0 root directory 
define("PHPBB_PATH", "../forum/"); 

// URL to the phpBB 3.0 installation 
define("PHPBB_LOCATION", "http://www.tupagina.com/forum/"); 

// Time format to output the date/time (for format see PHP manual) 
define("TIME_FORMAT", "d/m"); 

// php extension using
$phpEx = "php";

// No Editing unless you know what your doing
if ( !defined('IN_PHPBB') ) 
{
	define('IN_PHPBB', true);
}


// Get the needed phpbb files, thank you phpbb =]
include($phpbb_root_path  . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);

$user->session_begin();
$auth->acl($user->data);
$user->setup();

?>
<body STYLE="background-color:transparent">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="./theme/common.css" rel="stylesheet" type="text/css" title="A" />

</body>
<?php 

/* create_where_clauses( int[] gen_id, String type )
* This function outputs an SQL WHERE statement for use when grabbing
* posts and topics */

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');
}

// Set $out_where to nothing, this will be used of the gen_id
// size is empty, in other words "grab from anywhere" with
// no restrictions
$out_where = '';

if ($size_gen_id > 0)
{
// Get a list of all forums the user has permissions to read
$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))
{
// Create an array with all acceptable topic ids
$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:
$search_limit = 10;

// ID del foro específico. Si deseas más de un foro, separar por "comas".
$forum_id = array(4);
$forum_id_where = create_where_clauses($forum_id, 'forum');



$topics = 'SELECT * FROM ' . TOPICS_TABLE . '
' . $forum_id_where . '
AND topic_status <> ' . ITEM_MOVED . '
AND topic_approved = 1
ORDER BY topic_id DESC';

$topics_result = $db->sql_query_limit($topics, $search_limit);

while ($topics_row = $db->sql_fetchrow($topics_result))
{
$topic_title = $topics_row['topic_title'];
$topic_title = censor_text($topic_title);
$topic_author = get_username_string('full', $topics_row['topic_poster'], $topics_row['topic_first_poster_name'], $topics_row['topic_first_poster_colour']);
$topic_date = $user->format_date($topics_row['topic_time']);
$topic_last_post = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "p=" . $topics_row['topic_last_post_id'] . "#" . $topics_row['topic_last_post_id']);
$topic_last_author = get_username_string('full', $topics_row['topic_last_poster_id'], $topics_row['topic_last_poster_name'], $topics_row['topic_last_poster_colour']);
$topic_link = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "t=" . $topics_row['topic_id']);

echo "<b>!!</b> <a href=\"$topic_link\">$topic_title</a> por $topic_author - $topic_date<br>";

}

?> 
Hay alguien por ahí? :dormido:
Última edición por gustav el 01 Abr 2012, 06:11, editado 1 vez en total.

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 37

Re: Últimos mensajes por categorías en nueva página

#3

Mensaje por Alorse »

Si mira este tema por completo veras como adaptar el código php y el HTML para que se vea como una pagina personalizado. Modificar script para mostrar URL amigables en portal como veras, primero tenían el código como tú, todo junto, luego se va separando en diferentes archivos :)

gustav
Observador/a
Mensajes: 13
Registrado: 12 Jun 2009, 14:44

Re: Últimos mensajes por categorías en nueva página

#4

Mensaje por gustav »

Muchas gracias Alorse, ya he conseguido que cargue el html con el estilo.

El problema es que aunque esté indicado que cargue los 10 últimos temas, sólo carga uno. Además, carga de los últimos temas creados, no los últimos temas con respuesta.

Necesitaría ayuda para conseguir que:
1.- Cargue los últimos temas con últimos mensajes (igual que al ver el enlace "Buscar mensajes nuevos") y no los últimos temas creados del foro específico señalado en el .php
2.- Que el html cargue los mensajes indicados, en este caso 10, y no sólo 1 tema, como hace actualmente.

El .php es el mismo de arriba, sólo que con este añadido

Código: Seleccionar todo

$template->assign_block_vars('last', array(
        'FORUM_IMG' => $forum_image,
        'TOPIC_TITLE' => censor_text($topic_title),
        'POST_LINK' => $topic_link,
        'POST_AUTHOR' => $topic_author,
    ));

$template->set_filenames(array(
    'body' => 'nombredearchivo.html', //nombre del archivo html
));
Dejo el html por si me puedes echar una mano.

Código: Seleccionar todo

<!-- INCLUDE overall_header.html -->

<h2>LAST</h2>

<div class="panel">
    <div class="inner"><span class="corners-top"><span></span></span>
        <div class="content">
            <p>
                TU CONTENIDO IRÍA AQUÍ. PUEDE SER TEXTO O CÓDIGO
            </p>
        </div>
        <span class="corners-bottom"><span></span></span></div>
</div>
<div class="forabg">
    <div class="inner"><span class="corners-top"><span></span></span>
        <ul class="topiclist">
            <li class="header">
                <dl class="icon"><dt>Ultimos temas</dt></dl>
            </li>
        </ul>
        <div class="panel" style="padding:6px;">
            <!-- BEGIN last -->
            <a href="{last.POST_LINK}" class="forumtitle">{last.TOPIC_TITLE}</a>
            <br  />
            <!-- END last -->
        </div>
        <span class="corners-bottom"><span></span></span>
    </div>
</div>
<!-- IF PAGINATION -->
<div class="pagination">
    <!-- IF PAGE_NUMBER -->
    <!-- IF PAGINATION -->{TOTAL_TOPICS} &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ELSE --> &bull; {PAGE_NUMBER}<!-- ENDIF -->
    <!-- ENDIF -->
</div>
<!-- ENDIF -->
<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->
Gracias!

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 37

Re: Últimos mensajes por categorías en nueva página

#5

Mensaje por Alorse »

Ahora veo bien tu foro, el copy de phpBB esta incompleto y falta el copyright de la traducción.

gustav
Observador/a
Mensajes: 13
Registrado: 12 Jun 2009, 14:44

Re: Últimos mensajes por categorías en nueva página

#6

Mensaje por gustav »

Alorse escribió:Ahora veo bien tu foro, el copy de phpBB esta incompleto y falta el copyright de la traducción.
Perdón, he estado modificando el estilo y utilicé un footer antiguo al que se lo había quitado hace tiempo. La plantilla anterior, cuando abrí el tema si lo tenía. Ya lo he arreglado.
Última edición por gustav el 02 Abr 2012, 18:36, editado 1 vez en total.

gustav
Observador/a
Mensajes: 13
Registrado: 12 Jun 2009, 14:44

Re: Últimos mensajes por categorías en nueva página

#7

Mensaje por gustav »

Alorse, se que no es el sitio, pero no se cómo contactar, me he registrado en phpBBMODs, y no recibo el email de activación :?

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 37

Re: Últimos mensajes por categorías en nueva página

#8

Mensaje por Alorse »

gustav escribió:Alorse, se que no es el sitio, pero no se cómo contactar, me he registrado en phpBBMODs, y no recibo el email de activación :?
No veo que te hallas registrado, o no al menos con este nick.

gustav
Observador/a
Mensajes: 13
Registrado: 12 Jun 2009, 14:44

Re: Últimos mensajes por categorías en nueva página

#9

Mensaje por gustav »

Alorse escribió:
gustav escribió:Alorse, se que no es el sitio, pero no se cómo contactar, me he registrado en phpBBMODs, y no recibo el email de activación :?
No veo que te hallas registrado, o no al menos con este nick.
No es este nick, pero el email es el admin de la página de soporte.

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 37

Re: Últimos mensajes por categorías en nueva página

#10

Mensaje por Alorse »

gustav escribió:No es este nick, pero el email es el admin de la página de soporte.
La cuenta, ya esta activa, de igual manera mira en la bandeja de spam o algo, porque el sistema funciona bien.

gustav
Observador/a
Mensajes: 13
Registrado: 12 Jun 2009, 14:44

Re: Últimos mensajes por categorías en nueva página

#11

Mensaje por gustav »

Gracias!

Cerrado

Volver a “Foros de Soporte 3.0.x”