2011-07-01 34 views
8

Tôi có yêu cầu trong đó tôi nhận được ID sản phẩm từ Ứng dụng bên ngoài với các tùy chọn siêu phân phối sản phẩm như màu sắc, kích thước. Tôi nhận được tất cả những người và tôi có thể làm tùy chọn thêm vào giỏ hàng. Nhưng ở đây yêu cầu thực tế của tôi là chọn các tùy chọn được yêu cầu bởi khách hàng và chuyển hướng chúng đến trang chi tiết sản phẩm trong Magento để ở đây họ vẫn có thể nhập văn bản tùy chọn để in. Vì vậy, tôi cần phải đặt các tùy chọn được yêu cầu trong trang chi tiết và chuyển hướng chúng đến trang chi tiết sản phẩm thay vì thêm nó vào giỏ hàng. Họ sẽ nhập thêm chi tiết và sau đó họ sẽ làm addtocart thủ công.Cách đặt các tùy chọn được chọn mặc định trong trang chi tiết sản phẩm Magento

Làm cách nào tôi có thể đặt các tùy chọn đã chọn trong khi tải chính nó.

Hãy giúp tôi.

Trả lời

12

Rất may điều này đã được tích hợp sẵn cho hầu hết các chủ đề. Bạn cần biết ID của cả thuộc tính và giá trị từ sản phẩm Đơn giản được bao gồm trong sản phẩm Có thể định cấu hình. Tôi chỉ thấy nó làm việc với các loại Configurable để có thể là một hạn chế.

  • Đối với mỗi thuộc tính tạo ra một cặp khóa = giá trị
  • Kết hợp các thuộc tính như là một chuỗi truy vấn, ví dụ. "123 = 345 & 678 = 890"
  • Nối chuỗi dưới dạng đoạn băm (không phải là truy vấn).
    Đây là một ví dụ từ bản trình diễn chính thức, lưu ý rằng tùy chọn đầu tiên cần phải được chọn để làm việc thứ hai để có hai cặp khóa/giá trị.

    http://demo.magentocommerce.com/zolof-the-rock-and-roll-destroyer-lol-cat-t-shirt-126.html#525=99&272=22

+0

Câu trả lời rất hay. –

+0

Cảm ơn rất nhiều. Tuyệt vời ... – Elamurugan

+0

Nhưng tôi có vấn đề về tùy chọn sản phẩm tùy chỉnh. Khi tôi sử dụng # để đặt các tùy chọn mặc định như sau ** # 965 = 167 & 966 = 170 & 967 = 187 ** nó hoạt động hoàn hảo. Và khi tôi làm điều tương tự cho sản phẩm Tùy chọn tùy chỉnh như sau ** 56 = 263 & 55 = 260 & 52 = 252 ** nó không hoạt động. Làm thế nào tôi có thể thiết lập các tùy chọn mặc định cho thả xuống tùy chỉnh thay vì thuộc tính dựa thả xuống. – Elamurugan

1

Rough Magento2 dụ thêm dưới đây để biết trước việc lựa chọn các tùy chọn tùy chỉnh bằng cách name = giá trị trong:

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

Mã dưới đây nhìn vào nhãn của tùy chọn và giá trị văn bản của lựa chọn. Và phụ thuộc vào cấu trúc chủ đề của bạn. Ví dụ dưới đây cho Luma.

Nó hy vọng định dạng sau trong url

product.html?SelectLabel=OptionValue&SelectLabel=OptionValue 

này không chiếm đa ngôn ngữ vv .. bạn có thể dễ dàng thích nghi với nó để thay vào đó tìm kiếm id chọn và tùy chọn id đó sẽ là chính xác hơn thay thế

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

với (chưa được kiểm tra)

$("#"+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

Yup, nó hoạt động trong Magento 2, với chuỗi truy vấn như mô tả ở trên: 'produc-url? OptionTextLael = OptionNumericValue ' – thaddeusmt

Các vấn đề liên quan