[Tutorial] Como hacer una busqueda por campo personalizado.

Guí­as, manuales, tutoriales, etc. sobre phpBB3 y otros sistemas.
Foro de solo lectura, las dudas en el Foro oportuno por favor.

Moderadores: Soporte phpBB, Soporte MODs, Soporte Estilos

Atom Feed
Favoritos: karbiko, zyxer

[Tutorial] Como hacer una busqueda por campo personalizado.

Notapor zoby » Sábado, 05 Marzo 2011, 10:59

Hola de nuevo, vi un MOD, y lo postee en mods en desarollo, tras esto, me fije en su ''codigo'', 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 estan, y no posteen aquí, ya que no se les resolvera 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.

Espero que les haya servido :D
Firma

Antes de nada, lee las Normas de phpBB-Es, y el siempre útil Foro de guías sobre phpBB 3.
Consulta la Documentación de phpBB 2 y phpBB 3 y sus correspondientes FAQS de ayuda.
Administra, modifica, actualiza tu foro con el listado de Guías de nuestra Biblioteca.
Quizás tu duda esté resuelta, y todos ahorremos tiempo.
Si es sobre cómo Crear una Consulta SQL ya lo tienes explicado en el enlace.
En general, se recomienda Buscar antes de preguntar para no repetir preguntas y dudas resueltas.
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 : tenga en cuenta que su problema, también puede ser el problema de otro usuario.

Datos de Soporte
Spoiler: Mostrar
URL: http://www.phpbbsaske.com
Versión phpBB: phpBB3 (3.0.9)
MODs Instalados:
phpBB SEO PreMOD
Button Menu
Advanced BBcode Box
Top Stats
Affiliates On Index
Topic Solved
Plantilla Usada: Prosilver SE (Modificada)
Idioma: Español Usted
Servidor: De Pago, Hosting Infinito


Mis MODs


phpBB WYSIWYG 0.1.1

Foros donde estoy
Saske - Administrador de phpBBSaske ( Clickeado 309 veces )
Saske - Administrador de One Piece RPG ( Clickeado 309 veces )
Saske - Soporte phpBB3 Coloreatuforo ( Clickeado 392 veces )
Saske - Modificaciones phpBBArgentina ( Clickeado 341 veces )
Zoby - Soporte MODs phpBB-es ( Clickeado 313 veces )
Avatar de Usuario
zoby
VIP
VIP
 
Mensajes: 1106
Registrado: Sábado, 01 Enero 2011, 12:20
Ubicación: C.Valencia, España
Nombre real: Salva

Publicidad



Colabora con nosotros haciendo una Donación y elimina esta publicidad.

¿Te fue útil este tema?

Enlace:
BBcode:
HTML:

Compartir

Volver a Guías, manuales, tutoriales, sobre phpBB 3 y otros

  • Temas relacionados
    Respuestas
    Vistas
    Último mensaje

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados