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.

Como hacer una busqueda por campo personalizadoTema Solucionado

Soporte de MODs para phpBB 3.0.x
Dudas sobre AutoMOD aquí por favor.
Cerrado
zoby
Ex Staff
Mensajes: 1286
Registrado: 01 Ene 2011, 12:20
Género:

Como hacer una busqueda por campo personalizado  Tema Solucionado

#1

Mensaje por zoby »

Hola de nuevo, vi un MOD, y lo postee en mods en desarrollo, tras esto, me fije en su ''código'', y vi una manera de hacer algo parecido a ese MOD.
Descripción:
Permite Buscar un usuario usando un campo personalizado

En Primer lugar, vamos a crear un campo personalizado, en este caso, pondre phpbb.
Primero, vamos a editar archivos.
Abrir: /styles/prosilver/template/memberlist_search.html
Buscar

Código: Seleccionar todo

	<dl>
		<dt><label for="username">{L_USERNAME}:</label></dt>
		<dd><input type="text" name="username" id="username" value="{USERNAME}" class="inputbox" /></dd>
	</dl>
Añadir despues en una nueva linea

Código: Seleccionar todo

	<dl>
		<dt><label for="phpbb">phpBB:</label></dt>
		<dd><input type="text" name="phpbb" id="phpbb" value="" class="inputbox" /></dd>
	</dl>	
Abrir: /memberlist.php
Buscar

Código: Seleccionar todo

$search_params = array('username', 'email', 'icq', 'aim', 'yahoo', 'msn', 'jabber', 'search_group_id', 'joined_select', 'active_select', 'count_select', 'joined', 'active', 'count', 'ip');
En Linea

Código: Seleccionar todo

'username',
Añadir Despues (en la misma linea)

Código: Seleccionar todo

 'phpbb',
Buscar

Código: Seleccionar todo

$username	= request_var('username', '', true);
Añadir Despues en una nueva linea

Código: Seleccionar todo

			$phpbb		= request_var('phpbb', '');
Buscar

Código: Seleccionar todo

			$sql_where .= ($username) ? ' AND u.username_clean ' . $db->sql_like_expression(str_replace('*', $db->any_char, utf8_clean_string($username))) : '';
Añadir Despues en una nueva linea

Código: Seleccionar todo

			$sql_where .= ($phpbb) ? ' AND fd.pf_phpbb ' . $db->sql_like_expression(str_replace('*', $db->any_char, $phpbb)) . ' ' : '';
Buscar

Código: Seleccionar todo

FROM ' . USERS_TABLE . " u$sql_from
Reemplazar por

Código: Seleccionar todo

FROM (' . USERS_TABLE . " u$sql_from) LEFT JOIN " . PROFILE_FIELDS_DATA_TABLE . " fd ON (u.user_id = fd.user_id)
Buscar

Código: Seleccionar todo

FROM " . USERS_TABLE . " u
				$sql_from
Reemplazar por

Código: Seleccionar todo

FROM (" . USERS_TABLE . " u
                 $sql_from)
			LEFT JOIN " . PROFILE_FIELDS_DATA_TABLE . " fd ON (u.user_id = fd.user_id)
Tras ello, limpiar la cache de las plantillas :wink:

Resultado:
Imagen

Para cualquier problema, usen los foros, que para eso están, y no posteen aquí, ya que no se les resolverá el problema 8-)
Para acoplar el tutorial a otro campo personalizado, tan solo hay que cambiar todas las ediciones donde pone phpbb por el nombre del nuevo campo personalizado.
Antes de nada, lee las Normas de phpBB-Es, y el siempre útil Foro de guías sobre phpBB 3.
Consulta los FAQS de ayuda de phpBB3.
Administra, modifica, actualiza tu foro con el listado de Guías de nuestra Biblioteca.
Accede a la base de modificaciones de phpBB Titania.
Si es sobre cómo Crear una Consulta SQL ya lo tienes explicado en el enlace.
En general, se recomienda Buscar antes de preguntar, quizás tu duda esté resuelta, y todos ahorremos tiempo.
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 AQUÍ.


Normas de phpBB-Es | de Soporte en phpBB-Es.COM | Soporte MODificaciones phpBB en phpBB-Es
No doy soporte a quienes alteren o eliminen los copyright
No doy soporte por privado ni por msn : tenga en cuenta que su problema, también puede ser el problema de otro usuario.

Mi sitio web

Cerrado

Volver a “Soporte de MODs”