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.

Paginación en memberlist

Foros donde podréis dejar vuestras dudas sobre phpBB 3.0.x
Cerrado
Avatar de Usuario
javiexin
Miembro
Mensajes: 270
Registrado: 20 Dic 2010, 20:13

Paginación en memberlist

#1

Mensaje por javiexin »

Hola,

Tengo una pregunta: hay alguna manera de hacer que la paginación de la lista de usuarios (memberlist) sea variable según la llamada?

Es decir, que se pueda hacer que una llamada a memberlist pagine cada 50 usuarios, otra cada 100 y otra no pagine en absoluto, sin cambiar nada en la configuración (es decir, que esta información se pase como parámetro de llamada).

Muchas gracias por la ayuda, saludos,
-javiexin
URL: http://www.exincastillos.es
Spoiler
Versión phpBB: phpBB3 (3.0.9)
MODs Instalados: Ver Lista de MODs instalados
Plantilla(s) usada(s): prosilver
Servidor: Linux de pago
Actualización desde otra versión: 3.0.8, 3.0.5, 2.x

Avatar de Usuario
leviatan21
Ex Staff
Mensajes: 8279
Registrado: 26 Mar 2008, 20:06
Género:
Edad: 54

Paginación en memberlist

#2

Mensaje por leviatan21 »

Puedes hacer este cambio :

Abrir :
raíz/memberlist.php

Buscar :

Código: Seleccionar todo

        // Get us some users :D 
Antes, agregar :

Código: Seleccionar todo

        $config['topics_per_page'] = request_var('limit', $config['topics_per_page']); 
Con esto si llamas a la página de usuarios agregándole el parámetro limit=3 solo listará 3 usuarios por vez :

Código: Seleccionar todo

raíz/memberlist.php?limit=3
Espero que te sirva para lo que estás inventando :wink:
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 :twisted:

"Education is what remains after one has forgotten everything he learned in school" - Albert Einstein

Avatar de Usuario
javiexin
Miembro
Mensajes: 270
Registrado: 20 Dic 2010, 20:13

Paginación en memberlist

#3

Mensaje por javiexin »

Muchas gracias leviatan21.

Por desgracia, no puedo hacer cambios en el código php, así que no puedo utilizar tu propuesta, pero es (casi) exactamente lo que necesitaría!

A ver si hay alguna otra propuesta que no requiera cambios en php...

Saludos,
-javiexin
URL: http://www.exincastillos.es
Spoiler
Versión phpBB: phpBB3 (3.0.9)
MODs Instalados: Ver Lista de MODs instalados
Plantilla(s) usada(s): prosilver
Servidor: Linux de pago
Actualización desde otra versión: 3.0.8, 3.0.5, 2.x

Avatar de Usuario
leviatan21
Ex Staff
Mensajes: 8279
Registrado: 26 Mar 2008, 20:06
Género:
Edad: 54

Paginación en memberlist

#4

Mensaje por leviatan21 »

javiexin escribió:Por desgracia, no puedo hacer cambios en el código php, así que no puedo utilizar tu propuesta
Sin modificar archivos .php no hay muchas opciones de personalizar el foro... ¿ como has instalado hasta ahora los MODs que tienes ?
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 :twisted:

"Education is what remains after one has forgotten everything he learned in school" - Albert Einstein

Avatar de Usuario
javiexin
Miembro
Mensajes: 270
Registrado: 20 Dic 2010, 20:13

Paginación en memberlist

#5

Mensaje por javiexin »

Hola,

Yo estoy en una instalación compartida, que tiene una única copia de los ficheros php para múltiples foros, y no se pueden modificar independientemente. Los mods instalados están disponibles para todos los foros que comparten los ficheros, y su instalación se hace de forma centralizada.

Para modificar o adaptar mi foro, yo sólo puedo modificar las plantillas (templates) y estilos (css), es decir, el código de cliente. Nada más, y nada menos...

Y se pueden hacer muchas cosas sólo con eso :) Aunque a veces, me gustaría poder hacer cositas sencillas como la que propones aquí!

Saludos,
-javiexin
URL: http://www.exincastillos.es
Spoiler
Versión phpBB: phpBB3 (3.0.9)
MODs Instalados: Ver Lista de MODs instalados
Plantilla(s) usada(s): prosilver
Servidor: Linux de pago
Actualización desde otra versión: 3.0.8, 3.0.5, 2.x

Avatar de Usuario
leviatan21
Ex Staff
Mensajes: 8279
Registrado: 26 Mar 2008, 20:06
Género:
Edad: 54

Paginación en memberlist

#6

Mensaje por leviatan21 »

javiexin escribió:Yo estoy en una instalación compartida, que tiene una única copia de los ficheros php para múltiples foros, y no se pueden modificar independientemente. Los mods instalados están disponibles para todos los foros que comparten los ficheros, y su instalación se hace de forma centralizada.
Eso es una mala noticia, porque no se da soporte a foros pre-instalados :banned
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 :twisted:

"Education is what remains after one has forgotten everything he learned in school" - Albert Einstein

Avatar de Usuario
javiexin
Miembro
Mensajes: 270
Registrado: 20 Dic 2010, 20:13

Re: Paginación en memberlist

#7

Mensaje por javiexin »

Hola,

Revivo este tema porque ahora sí puedo hacer ediciones al código PHP, y estoy intentando introducir este cambio que ya solicité en su momento.

Lo que me indicó en su momento leviatan funciona a la perfección, salvo un pequeño detalle: cómo hago para que el "limit=X" que yo pongo en una URL se propague cuando navego?

Es decir, veo una página con limit=20 y me gustaría que cuando pulso para ver otra página, mantuviera también este parámetro.

He intentado mirar el código de memberlist.php para hacer esto, pero no lo tengo muy claro...

Alguna ayuda? Muchas gracias,
-javiexin
Última edición por javiexin el 19 Oct 2011, 12:01, editado 1 vez en total.
URL: http://www.exincastillos.es
Spoiler
Versión phpBB: phpBB3 (3.0.9)
MODs Instalados: Ver Lista de MODs instalados
Plantilla(s) usada(s): prosilver
Servidor: Linux de pago
Actualización desde otra versión: 3.0.8, 3.0.5, 2.x

Avatar de Usuario
leviatan21
Ex Staff
Mensajes: 8279
Registrado: 26 Mar 2008, 20:06
Género:
Edad: 54

Re: Paginación en memberlist

#8

Mensaje por leviatan21 »

Prueba esto :
Primero elimina el cambio anterior, luego :

Buscar :

Código: Seleccionar todo

// Check our mode...
Antes, agregar :

Código: Seleccionar todo

$limit        = request_var('limit', 0);
if ($limit)
{
    $config['topics_per_page'] = $limit;
}

 
Buscar :

Código: Seleccionar todo

			'first_char'	=> array('first_char', ''),
Debajo, agregar :

Código: Seleccionar todo

            'limit'            => array('limit', $limit), 
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 :twisted:

"Education is what remains after one has forgotten everything he learned in school" - Albert Einstein

Avatar de Usuario
javiexin
Miembro
Mensajes: 270
Registrado: 20 Dic 2010, 20:13

Re: Paginación en memberlist

#9

Mensaje por javiexin »

Muchas gracias, leviatan...

Es un poco más complejo que lo que tú has puesto. Lo que al final he tenido que poner es lo siguiente:

Buscar:

Código: Seleccionar todo

		$u_hide_find_member = append_sid("{$phpbb_root_path}memberlist.$phpEx", "start=$start" . (!empty($params) ? '&' . implode('&', $params) : ''));
Añadir antes:

Código: Seleccionar todo

		// Allow changing the pagination; 0 disables pagination
		$limit = request_var('limit', '');
		if (is_numeric($limit))
		{
			$config['topics_per_page'] = request_var('limit', $config['topics_per_page']);
			$params[] = ("limit=" . $limit);
			$sort_params[] = ("limit=" . $limit);
		}
Esto CASI funciona del todo, hace exactamente lo que yo quiero, con una excepción: cuando estás en una página con "limit" puesto, y utilizas algún enlace de "ordenación", se pierde el límite. En la paginación ya no se pierde.

Lo puedes ver aquí:
http://www.exincastillos.es/foro/member ... p?limit=20
Por cierto, esto también es parte de este cambio (necesita algún retoque más):
http://www.exincastillos.es/foro/memberlist.php?limit=0
Y por último, en este caso, el parámetro es ignorado:
http://www.exincastillos.es/foro/member ... limit=algo

Saludos,
-javiexin

PD: Admito sugerencias de mejora, es el primer código PHP para phpbb que escribo...
Última edición por javiexin el 19 Oct 2011, 21:35, editado 1 vez en total.
URL: http://www.exincastillos.es
Spoiler
Versión phpBB: phpBB3 (3.0.9)
MODs Instalados: Ver Lista de MODs instalados
Plantilla(s) usada(s): prosilver
Servidor: Linux de pago
Actualización desde otra versión: 3.0.8, 3.0.5, 2.x

Avatar de Usuario
leviatan21
Ex Staff
Mensajes: 8279
Registrado: 26 Mar 2008, 20:06
Género:
Edad: 54

Re: Paginación en memberlist

#10

Mensaje por leviatan21 »

javiexin escribió:Esto CASI funciona del todo, hace exactamente lo que yo quiero, con una excepción: cuando estás en una página con "limit" puesto, y utilizas algún enlace de "ordenación", se pierde el límite. En la paginación ya no se pierde.
Sería preferible :

Código: Seleccionar todo

        // Allow changing the pagination; 0 disables pagination
        $limit = request_var('limit', 0);
        if ($limit != 0)
        {
            $config['topics_per_page'] = $limit;
            $params[] = $sort_params[] = ("limit=" . $limit);
        }
 
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 :twisted:

"Education is what remains after one has forgotten everything he learned in school" - Albert Einstein

Avatar de Usuario
javiexin
Miembro
Mensajes: 270
Registrado: 20 Dic 2010, 20:13

Re: Paginación en memberlist

#11

Mensaje por javiexin »

Lo he probado, y con ese código el segundo ejemplo que puse no funcionaría.

De todos modos, muchas gracias!
-javiexin
URL: http://www.exincastillos.es
Spoiler
Versión phpBB: phpBB3 (3.0.9)
MODs Instalados: Ver Lista de MODs instalados
Plantilla(s) usada(s): prosilver
Servidor: Linux de pago
Actualización desde otra versión: 3.0.8, 3.0.5, 2.x

Cerrado

Volver a “Foros de Soporte 3.0.x”