Avisos
Vaciar todo

Duda motor de busqueda  

 
Ferreteria Irigaray
 Ferreteria Irigaray
Usuario experto

Buenas

 

Tengo un problema que quiero solucionar. A ver si me podeis echar una mano. Tengo tres campos de busqueda ligados a un submit. El caso es que la sintaxis que me crea cuando meto valores en esos campos es la siguiente

https://ferreteriairigaray.com/?s=225&s=50&s=14

Asi no hay forma de que me localice nada. Necesitaria que la sintaxis fuera asi

https://ferreteriairigaray.com/?s=225Y50R14  

Es decir, me metiera una Y entre el primer y segundo campo y una R entre el segundo y el tercero

 

Actualmente mi div del buscador es asi:

<div id="CADENAS"><div style="text-align:center">
<form role="search" method="get" id="searchform" class="searchform" action="https://ferreteriairigaray.com/">
<div>
<input type="text" font color="#436b00" placeholder="Anchura" value="" name="s" id="s">
<input type="text" font color="#436b00" placeholder="Altura" value="" name="s" id="s">
<input type="text" font color="#436b00" placeholder="Diametro de la llanta" value="" name="s" id="s">
<input type="submit" id="searchsubmit" value="Buscar">
</div>
</form>
</div></div>

Alguien me puede arrojar algo de luz?

Citar
Respondido : 05/02/2020 5:46 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

En el caso que planteas tendrías que hacerlo por programación, específicamente javascript, antes de enviar el formulario tendría que concatenar los valores y luego pasar la url formada correctamente.

Creo que lo más práctico en tu caso sería que hagas atributos de productos, y luego usar el widget de filtro por atributo, de esta manera va filtrando todos los proudctos que tienen ese atributo.

Saludos.

ResponderCitar
Respondido : 05/02/2020 7:00 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

Ferreteria Irigaray
 Ferreteria Irigaray
Usuario experto

@jmarreros

Con atributos no me valdria ya que el cliente debe meter los valores por separado, y los atributos por separado arrojarian resultados erroneos. Varios articulos comparten 255, 80 y 13, pero solo uno acumula la combinacion correcta de 255Y80R13 en el orden correcto. Por eso necesito la concatenacion.

ResponderCitar
Respondido : 05/02/2020 7:20 pm
Bulmaro
 Bulmaro
Soporte CMS Webempresa Moderator

@webferreteriairigaray-es

Hola 

Efectivamente, tendrías que utilizar javascript (válido jQuery) concatenando los valores de cada uno de los input's de tu formulario, antes de concatenar yo validaría si el campo tiene algo o es null o es igual a "", una vez concatenado en una sola variable procesar el formulario. 

No es algo muy complejo pero si no tienes experiencia o conocimientos en el tema te llevará un par de horas o días lograrlo, además recuerda que dos elementos html no pueden tener el mismo id, debe ser distinto, en caso contrario el navegador no sabrá a cual elemento acceder pues estará confundido.

Saludos

ResponderCitar
Respondido : 05/02/2020 10:46 pm

Cursos Gratuitos WordPress

Ferreteria Irigaray
 Ferreteria Irigaray
Usuario experto

@bulmaro-webempresa

Y un pequeño ejemplo me podrias dar? Simplemente por saber de que estamos hablando

ResponderCitar
Respondido : 06/02/2020 7:40 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola.

Puedes revisar esta documentación de WordPress

-> https://developer.wordpress.org/reference/functions/get_search_form/

Un saludo

ResponderCitar
Respondido : 06/02/2020 10:37 am

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Ferreteria Irigaray
 Ferreteria Irigaray
Usuario experto

Sigo investigando

Esto me crea esta sintaxis de busqueda: https://ferreteriairigaray.com/?s=20&Y=20&R=20

<div id="cadenas"><div style="text-align:center">
<form role="search" method="get" id="searchform" class="searchform" action="https://ferreteriairigaray.com/">
<div>
<input type="text" font color="#436b00" placeholder="Anchura" value="" name="s" id="anch">
<input type="text" font color="#436b00" placeholder="Altura" value="" name="Y" id="altu">
<input type="text" font color="#436b00" placeholder="Diametro" value="" name="R" id="dia">
<input type="submit" id="searchsubmit2" value="Buscar">
</div>
</form>
</div></div>

 

Podria solucionar mi problema si en esa sintaxis se me quitaria & y el segundo y tercer =. Podria hacerlo desde el campo action que he marcado en negrita? Haciendo algun get 'anch' 'altu' 'dia'?

Pepe, como siempre, muy agradecido, pero no he logrado hacer valer esa documentacion 🙁

ResponderCitar
Respondido : 07/02/2020 11:48 am
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Tienes que manipular los inputs con javascript, formar la cadena y luego enviar igualmente por javascript.

Es decir tal como lo tienes no puedes hacerlo por PHP porque necesitas concatenar antes de enviar.

Si sabes algo de programación primero revisa:

Con esto inhabilitas el submit por defecto para que puedes hacer tu programación antes:

https://api.jquery.com/submit/

Luego con la función val() obtienes el valor de los inputs

https://api.jquery.com/val/

La idea es que programes la concatenación y lo coloques en un input final y luego enviar el submit por javascript.

Lamentablemente desde este foro sólo podemos darte generalidades ya que no vemos temas de programación específica.

Saludos.

 

ResponderCitar
Respondido : 07/02/2020 4:34 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación