2011-07-01 19 views
8

Tengo el requisito en el que recibo el ID del producto de la aplicación externa con las opciones de super_attributo del producto como el color y el tamaño. Estoy recibiendo todos esos y puedo hacer la opción de agregar al carro.Cómo establecer las opciones seleccionadas predeterminadas en la página de detalles del producto magento

Pero aquí mi requisito real es seleccionar las opciones solicitadas por el cliente y redirigirlas a la página de detalles del producto en magento para que aquí todavía puedan ingresar texto opcional para imprimir. Por lo tanto, debo configurar las opciones solicitadas en la página de detalles y redirigirlas a la página de detalles del producto en lugar de agregarlas al carrito. Ingresarán más detalles y luego harán addtocart manualmente.

¿Cómo puedo configurar las opciones seleccionadas mientras se carga?

Por favor, ayúdame.

Respuesta

12

Afortunadamente, esto ya está incorporado en la mayoría de los temas. Debe conocer la ID de los atributos y valores del producto simple que se incluye en el producto configurable. Solo lo he visto funcionar con tipos configurables, por lo que podría ser una limitación.

+0

muy buena respuesta. –

+0

Muchas gracias. Excelente ... – Elamurugan

+0

Pero tengo un problema con las opciones personalizadas del producto. Cuando uso # para configurar las opciones predeterminadas como si fuera ** # 965 = 167 & 966 = 170 & 967 = 187 ** funcionó perfectamente. Y cuando hago lo mismo para las opciones personalizadas del producto de la siguiente manera ** 56 = 263 y 55 = 260 & 52 = 252 ** no está funcionando. ¿Cómo puedo establecer las opciones predeterminadas para los menús desplegables personalizados en lugar de los menús desplegables basados ​​en atributos? – Elamurugan

1

áspero Magento2 ejemplo, añadir el siguiente para la pre-selección de las opciones de personalización por su nombre = valor en:

/www/mysite/app/design/frontend/mycompany/mytheme/Magento_Catalog/templates/product/view/options.phtml 

El código de abajo se ve en la etiqueta de la opción y el valor de texto de la selección. Y depende de la estructura de tu tema. Ejemplo a continuación para Luma.

Se espera que el siguiente formato en la url

product.html?SelectLabel=OptionValue&SelectLabel=OptionValue 

Esto no da cuenta de multi-lenguaje, etc .. que pudiera adaptarse fácilmente a su lugar busque el ID y seleccione la opción de Identificación del que sería más preciso reemplazar

$(label).parents().eq(1).find('select option:contains('+arr[k]+')').attr('selected', true); 

con (no probado)

$("#"+k+" option[id='"+arr[k]+"']").attr("selected", "selected"); 

<script> 
 
     require(['jquery'],function($){ 
 

 
      $(document).ready(function(){ 
 

 
       function getJsonFromUrl() { 
 
        var query = location.search.substr(1); 
 
        var result = {}; 
 
        query.split("&").forEach(function(part) { 
 
         var item = part.split("="); 
 
         result[item[0]] = decodeURIComponent(item[1]); 
 
        }); 
 
        return result; 
 
       } 
 
       var arr = getJsonFromUrl(); 
 
       for (var k in arr){ 
 
        if (arr.hasOwnProperty(k)) { 
 
         //alert("Key is " + k + ", value is" + arr[k]); 
 
         var label = $('.product-options-wrapper').find("span:contains('"+k+"')"); 
 
         $(label).parents().eq(1).find('select option:contains('+arr[k]+')').attr('selected', true); 
 

 
        } 
 
       } 
 

 
      }); 
 

 
     }); 
 

 
    </script>

+0

Sí, funciona en Magento 2, con una cadena de consulta tal como se describió anteriormente: 'produc-url? OptionTextLael = OptionNumericValue ' – thaddeusmt

Cuestiones relacionadas