[Tutorial] Agregar funcion buscar usuario en Mp (RC3 - RC4)

Started by ^HeRaCLeS^, October 10, 2010, 12:46:01 AM

Previous topic - Next topic

^HeRaCLeS^

Agregar funcion buscar usuario en Mp

En este pequeño tutorial vamos a ver como poder agregar la opcion de buscar un usuario al enviar un Mensaje Privado.
Los cambios varian entre la version RC3 y RC4

Abrimos con un editor de texto el archivo ...Themes\default\PersonalMessage.template.php
RC3
buscamos lo siguiente:
// Autosuggest will be added by the JavaScript later on.
echo '
<dd>
<input type="text" name="to" id="to_control" value="', $context['to_value'], '" tabindex="', $context['tabindex']++, '" size="40" style="width: 130px;" class="input_text" />';


Y remplazamos con esto:
// Autosuggest will be added by the JavaScript later on.
echo '
<dd>
<input type="text" name="to" id="to_control" value="', $context['to_value'], '" tabindex="', $context['tabindex']++, '" size="40" style="width: 130px;" class="input_text" />
            <a href="', $scripturl, '?action=findmember;input=to_control;quote=1;sesc=', $context['session_id'], ';search=*" onclick="return reqWin(this.href, 700, 400);"><img src="', $settings['images_url'], '/icons/assist.gif" alt="', $txt['find_members'], '" /> ', $txt['find_members'], '</a>
            <br />';


Despues Buscamos:
// This BCC row will be hidden by default if JavaScript is enabled.
echo '
<dt id="bcc_div">
<span', (isset($context['post_error']['no_to']) || isset($context['post_error']['bad_bcc']) ? ' class="error"' : ''), '>', $txt['pm_bcc'], ':</span>
</dt>
<dd id="bcc_div2">
<input type="text" name="bcc" id="bcc_control" value="', $context['bcc_value'], '" tabindex="', $context['tabindex']++, '" size="40" style="width: 130px;" class="input_text" />
<div id="bcc_item_list_container"></div>
</dd>';


Y remplazamos con esto:
// This BCC row will be hidden by default if JavaScript is enabled.
echo '
<dt >
<span', (isset($context['post_error']['no_to']) || isset($context['post_error']['bad_bcc']) ? ' class="error"' : ''), '>', $txt['pm_bcc'], ':</span>
</dt>
<dd >
<input type="text" name="bcc" id="bcc_control" value="', $context['bcc_value'], '" tabindex="', $context['tabindex']++, '" size="40" style="width: 130px;" class="input_text" />
            <a href="', $scripturl, '?action=findmember;input=bcc_control;quote=1;sesc=', $context['session_id'], ';search=*" onclick="return reqWin(this.href, 700, 400);"><img src="', $settings['images_url'], '/icons/assist.gif" alt="', $txt['find_members'], '" /> ', $txt['find_members'], '</a>
<div id="bcc_item_list_container"></div>
</dd>';





RC4
buscamos lo siguiente:
// Autosuggest will be added by the JavaScript later on.
echo '
<dd id="pm_to" class="clear_right">
<input type="text" name="to" id="to_control" value="', $context['to_value'], '" tabindex="', $context['tabindex']++, '" size="40" style="width: 130px;" class="input_text" />';


Y remplazamos con esto:
// Autosuggest will be added by the JavaScript later on.
echo '
<dd>
<input type="text" name="to" id="to_control" value="', $context['to_value'], '" tabindex="', $context['tabindex']++, '" size="40" style="width: 130px;" class="input_text" />
            <a href="', $scripturl, '?action=findmember;input=to_control;quote=1;sesc=', $context['session_id'], ';search=*" onclick="return reqWin(this.href, 700, 400);"><img src="', $settings['images_url'], '/icons/assist.gif" alt="', $txt['find_members'], '" /> ', $txt['find_members'], '</a>
            <br />';


Despues Buscamos:
// This BCC row will be hidden by default if JavaScript is enabled.
echo '
<dt  class="clear_left" id="bcc_div">
<span', (isset($context['post_error']['no_to']) || isset($context['post_error']['bad_bcc']) ? ' class="error"' : ''), '>', $txt['pm_bcc'], ':</span>
</dt>
<dd id="bcc_div2">
<input type="text" name="bcc" id="bcc_control" value="', $context['bcc_value'], '" tabindex="', $context['tabindex']++, '" size="40" style="width: 130px;" class="input_text" />
<div id="bcc_item_list_container"></div>
</dd>';


Y remplazamos con esto:
// This BCC row will be hidden by default if JavaScript is enabled.
echo '
<dt >
<span', (isset($context['post_error']['no_to']) || isset($context['post_error']['bad_bcc']) ? ' class="error"' : ''), '>', $txt['pm_bcc'], ':</span>
</dt>
<dd >
<input type="text" name="bcc" id="bcc_control" value="', $context['bcc_value'], '" tabindex="', $context['tabindex']++, '" size="40" style="width: 130px;" class="input_text" />
            <a href="', $scripturl, '?action=findmember;input=bcc_control;quote=1;sesc=', $context['session_id'], ';search=*" onclick="return reqWin(this.href, 700, 400);"><img src="', $settings['images_url'], '/icons/assist.gif" alt="', $txt['find_members'], '" /> ', $txt['find_members'], '</a>
<div id="bcc_item_list_container"></div>
</dd>';



Quedaria Asi:


Antes

Despues


Ahora solo tienen que apretar donde dice "Buscar Usuarios" y se nos abrira un Popup para poder buscar.
Una ves realizada la busqueda solo tienen que hacer Click en uno o varios resultados y automaticamente se pondra ese/esos usuario/s en el campo Para: o Cco:, segun que accion hayamos elegido.

Resultado




El codigo se puede configurar para que realice 3 tipos de busquedas iniciales:

  • Busqueda Vacia: Abre el Popup sin resultados de Busqueda.
  • Busqueda Total: Abre el Popup con todos los usuarios Registrados. (No Recomendable)
  • Busqueda Con datos: Abre el Popup con todos los usuarios que contengan ese dato.

Para ello solo tenemos que modificar lo siguiente en los dos codigos:
search=*"

Busqueda Vacia: Borrar el *
search="
Resultado



Busqueda Total: Dejar el codigo tal cual.
search=*"
Resultado


Busqueda Con datos: Remplazar el * por algun dato. Ej ^HeRaCLeS^
search=^HeRaCLeS^"
Resultado




Otro parametro que se puede modificar en el codigo es el tamaño del Popup, para ellos solo modificamos lo siguiente por los valores deceados:
(this.href, 700, 400)
700 = Ancho
400 = Alto

Nota: El cambio hay que hacerlo en los dos codigos.





Actualizado

Bueno aca pueden descargar las modificaciones como mod.

Desde SmfPersonal
Desde Smf


Fuente: SmfPersonal
^HeRaCLeS^
*¤×• Ni te molestes en enviarme un Mp porque el soporte lo doy solo por el foro •×¤*


SMFPersonal

lean


vicram10

Hace un tiempo atras alguien pregunto lo mismo y le dije de tal o cual forma debes hacer, que seria exactamente como planteas el tuto, me iba a ser mas facil si aquel entonces ya existia este tuto asi le decia lee tal tuto y sabras ;D ...

buen tuto....

^HeRaCLeS^

Gracias a los dos por sus comentarios!

vicram10: Es que este tuto no existiria si no fuera por vos, ya que vos me enceñaste un dia cual id usar para poder lograrlo to_control
Yo hacia todo y no me mostraba el usuario en el campo "Para:"
;)

Saludos.
^HeRaCLeS^
*¤×• Ni te molestes en enviarme un Mp porque el soporte lo doy solo por el foro •×¤*


SMFPersonal

adthz


vicram10

Quote from: ^HeRaCLeS^ on October 10, 2010, 01:57:46 PM
Gracias a los dos por sus comentarios!

vicram10: Es que este tuto no existiria si no fuera por vos, ya que vos me enceñaste un dia cual id usar para poder lograrlo to_control
Yo hacia todo y no me mostraba el usuario en el campo "Para:"
;)

Saludos.


ahhh jaja... que gracioso, eras vos habia sido ;D ;D ;D ;D (ando mal de memoria ultimamente xDDD, estoy viejo :( :P )

zutzu

Muy útil en verdad Heracles, gracias por compartirlo.

lucas-ruroken

Adk Portal 3.1 is coming....

Design your universe!

Advertisement: