Jump to content

Como puedo hacer estas combinaciones de producto?


Recommended Posts

Necesito hacer estas combinaciones para un producto virtual y no se como. Necesito aplicarlo a todos los productos, tal vez lo mejor sea por CSV pero no se como puedo conseguirlo.

 

Necesito a la hora de seleccionar un producto 2 opciones desplegables:

 

Pais ---> Operador.

 

Las 2 visibles pero cuando seleccionas pais cambia todo operador.

Es decir selecciono España y en el otro campo aparece movistar voidafone orange yoigo..

Selecciono UK y aparecen los operadores de UK. 

Cada 1 con su respectivo precio. He conseguido medio hacer manualmente de 1 en 1 esto pero me aparecen todos y da igual el pais que seleccione que aparecen todos los operadores de todos los paises (eso si cuando lo selecciono dice que no hay stock, de todas formas quiero que no aparezca en la lista si no es el pais que se ha seleccionado).

 

Como puedo conseguir esto para aplicarlo a todos los productos? Son mas de 1000 y luego necesito tambein conigurar precio dependiendo del pais, operador y producto.

 

 

Link to comment
Share on other sites

En principio puedes tener un producto con combinaciones por País, operador España, operador UK. Con lo que te saldrían p.ej 3 selectores.

 

Una idea -> Ahora podrías poner algo de código javascript en product.tpl para esconder el operador España o operador UK en función del País.

 

Creo que habría que tener en cuenta luego como pasa la información del producto al carrito ya que las combinación en principio seria p.ej España - Movistar -Alguna compañía UK, en este caso Alguna compañía UK no interesa luego que se vea.

 

Pero parece una estrategia factible..

Link to comment
Share on other sites

La verdad que no tengo ni idea de como escribir código. Tocando opciones conseguí lo que comento. Y es tener 2 selectores. Uno con todos los paises y otro con todos los operadores. Pero aunque seleccione España aparecen todos los operadores aunque no sean Español (previamente borre todas las combinaciones que no fueran Operador español con españa, quedando solo España - movistar; España - orange; España Vodafone; España - Yoigo. Si selecciono cualquier otro me dice que no está disponible que seleccione otro producto. Yo lo que quiero es que desaparezca. Pero no se que tendría que escribir en el tpl...

Edited by lozano312 (see edit history)
Link to comment
Share on other sites

Pues la verdad es que pensé que sería algo mas sencilo ya que las combinaciones las tengo. Lo único sería que no aparezcan las combinaciones que ya borré previamente.

A lo mejor por CSV añadiendo solo las combinaciones que me interesan sin generarlas automaticamente? esto podría ser? No se si se pueden crear las combinaciones por CSV sin hacer todas las posibles.

 

Muchas gracias a ambos!

Edited by lozano312 (see edit history)
Link to comment
Share on other sites

La verdad que no tengo ni idea de como escribir código. Tocando opciones conseguí lo que comento. Y es tener 2 selectores. Uno con todos los paises y otro con todos los operadores. Pero aunque seleccione España aparecen todos los operadores aunque no sean Español (previamente borre todas las combinaciones que no fueran Operador español con españa, quedando solo España - movistar; España - orange; España Vodafone; España - Yoigo. Si selecciono cualquier otro me dice que no está disponible que seleccione otro producto. Yo lo que quiero es que desaparezca. Pero no se que tendría que escribir en el tpl...

 

Ah, ok eso también parece interesante, incluso mejor.. Simplemente habría que cargarse los que no son españoles en un caso y viceversa. Intento hacer una "prueba de concepto" y te digo algo.

Link to comment
Share on other sites

Buenas. Esto lo he probado en Firefox con PS1541 y funciona

 

Atributos/Valores. Los ids hay que ponerlos en el código javascript, cada cual tendrá los suyos

 

l779.jpg

 

En product.tpl después de <script type="text/javascript">
// <![CDATA[

añadimos el trozo

{literal}
var idSelector_Pais="4"; //El pais
var idSelector_Operador="5"; // El operador que depende del pais
var operadoresMovil={};                
operadoresMovil["21] = new Array("23","24","25");//Operadores España
operadoresMovil["22"] = new Array("28","29");//Operadores Uk
operadoresMovil["30"] = new Array("31","32");//Operadores Francia
//operador 
$(document).ready(function()
{
	$("#group_"+idSelector_Pais).change (function(e){ 
		var countrySel=$('#group_'+idSelector_Pais).val();
		for (var idCountry in operadoresMovil) {
			if(countrySel==idCountry){				
				for (var oidCountry in operadoresMovil) {
		  			if(oidCountry == idCountry){
		  				for (var index = 0; index < operadoresMovil[oidCountry].length; index++) {
		  					$("#group_"+idSelector_Operador+" option[value='"+operadoresMovil[oidCountry][index]+"']").show();
		  				}				
		  	  		}else{//escondemos los otros operadores
			  	  		for (var index = 0; index < operadoresMovil[oidCountry].length; index++) {
		  					$("#group_"+idSelector_Operador+" option[value='"+operadoresMovil[oidCountry][index]+"']").hide();
		  				}
			  	  	}
				}
			}
		}
		$('#group_'+idSelector_Operador).val($("#group_"+idSelector_Operador+" option:visible").eq(0).val());
		$('#group_'+idSelector_Operador).trigger('change');
	} );
	$("#group_"+idSelector_Pais).trigger('change');
	
});
{/literal}

Generamos todas las combinaciones

 

u0l4.jpg

 

 

Luego en el selector de operadores aparecerán en función del país

 

jt9s.jpg

Link to comment
Share on other sites

  • 1 month later...

Pues lo he probado y no me funciona...

 

Yo he creado todas las combinaciones posibles que yo quiero, hasta ahí bien.

 

Lo que pasa que si selecciono una combinacion que no está disponible me sale error seleccione otro operdaor y pais. Yo necesito que directamente no salga para seleccionar en el selector. Si yo en el primer selector selecciono España que en los otros solo se vean las combinaciones correspondientes a españa. No se si es mucho lio o que.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...