Página 1 de 1

Ordenar temas por Asunto + ASC automaticamente

Publicado: 03 Mar 2010, 01:44
por varito28
Buenas, soy nuevo por aqui, tengo una duda/problema, quisiera saber si es posible organizar, de manera automatica, los temas de un foro concreto alfabeticamente por el Asunto del tema. Se que se puede manualmente en "ordenar por: Asunto + Ascendente", pero exite algun modo de hacerlo permanente para todos los usuarios?

Muchas gracias por atenderme, Alvaro.


URL: http://www.cantabriaelectronica.com
Versión phpBB: phpBB3 (3.0.6)
MODs Instalados: Ninguno
Plantilla(s) usada(s):
Servidor: De pago
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No

Re: Ordenar temas por Asunto + ASC automaticamente

Publicado: 16 May 2010, 09:47
por memoadian
Esto me interesa, parece que no debe ser tan dificil, ¿alguien sabe como hacerlo?

Re: Ordenar temas por Asunto + ASC automaticamente

Publicado: 16 May 2010, 17:37
por jakk
he visto este mod , igual os sirve

Re: Ordenar temas por Asunto + ASC automaticamente

Publicado: 17 May 2010, 00:37
por memoadian
Intente ese mod pero no sirve al correr el install, no se ejecuta, solo me aparecio una lista en el forumlist, pero no pasa nada, creo que de todos modos se tiene que hacer manualmente, en fin que si uno se fija solo es un form que manda las variables via post a S_FORUM_ACTION} me gustaria saber a que archivo es eal que hace referencia esa variable.

Re: Ordenar temas por Asunto + ASC automaticamente

Publicado: 17 May 2010, 03:12
por Alorse
La verdad no me he fijado en las variales ni en los archivos, pero debe estar o en el viewforum.php o en el /includes/functios.php de esos dos archovos no se sale, ademas debes fijarte en la consulta que se esta haciendo con esa variable y agregar la condición de agregar por el nombre del asunto.

Re: Ordenar temas por Asunto + ASC automaticamente

Publicado: 17 May 2010, 03:22
por jakk
está en el viewforum.php

Re: Ordenar temas por Asunto + ASC automaticamente

Publicado: 17 May 2010, 05:31
por memoadian
pues lo que genera es esto:

Código: Seleccionar todo

	'S_FORUM_ACTION'		=> append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id&start=$start"),
manda dos variables, $forum_id y $start

Esta es la parte del código que se encarga del orden de los temas
Spoiler

Código: Seleccionar todo

// If the user is trying to reach late pages, start searching from the end
$store_reverse = false;
$sql_limit = $config['topics_per_page'];
if ($start > $topics_count / 2)
{
	$store_reverse = true;

	if ($start + $config['topics_per_page'] > $topics_count)
	{
		$sql_limit = min($config['topics_per_page'], max(1, $topics_count - $start));
	}

	// Select the sort order
	$sql_sort_order = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'ASC' : 'DESC');
	$sql_start = max(0, $topics_count - $sql_limit - $start);
}
else
{
	// Select the sort order
	$sql_sort_order = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC');
	$sql_start = $start;
}

if ($forum_data['forum_type'] == FORUM_POST || !sizeof($active_forum_ary))
{
	$sql_where = 't.forum_id = ' . $forum_id;
}
else if (empty($active_forum_ary['exclude_forum_id']))
{
	$sql_where = $db->sql_in_set('t.forum_id', $active_forum_ary['forum_id']);
}
else
{
	$get_forum_ids = array_diff($active_forum_ary['forum_id'], $active_forum_ary['exclude_forum_id']);
	$sql_where = (sizeof($get_forum_ids)) ? $db->sql_in_set('t.forum_id', $get_forum_ids) : 't.forum_id = ' . $forum_id;
}

// Grab just the sorted topic ids
$sql = 'SELECT t.topic_id
	FROM ' . TOPICS_TABLE . " t
	WHERE $sql_where
		AND t.topic_type IN (" . POST_NORMAL . ', ' . POST_STICKY . ")
		$sql_approved
		$sql_limit_time
	ORDER BY t.topic_type " . ((!$store_reverse) ? 'DESC' : 'ASC') . ', ' . $sql_sort_order;
$result = $db->sql_query_limit($sql, $sql_limit, $sql_start);

while ($row = $db->sql_fetchrow($result))
{
	$topic_list[] = (int) $row['topic_id'];
}
$db->sql_freeresult($result);
será cuestión de entrarle, :D a ver que consigo.