Cách nhận id sản phẩm đơn giản của sản phẩm có thể định cấu hình trên trang Chi tiết sản phẩm


7

Trong trang chi tiết sản phẩm khi người dùng chọn như màu sắc và kích thước, nó sẽ trả về id sản phẩm đơn giản đónhập mô tả hình ảnh ở đây


Bạn có thể sử dụng liên kết này magento1. magento.stackexchange.com/questions/28881/...
Payal Patel

@payal Khi người dùng chọn kích thước và màu sắc, nó sẽ trả về id sản phẩm đó
Jitendra Mohanta

Từ đó, sử dụng js hoặc php muốn vào id?
Rakesh Jesadiya

tôi muốn thông báo cảnh báo để hiển thị id sản phẩm đơn giản của nó
Jitendra Mohanta

Bạn đã giải quyết nó? Tôi cũng đang tìm kiếm một cái gì đó tương tự.
Seefan

Câu trả lời:


5

Tôi đã chọn hộp ở thuộc tính của sản phẩm cấu hình. Đây là những gì tôi đã làm để có được id sản phẩm đơn giản. Đặt mã sau vào tệp phtml sản phẩm có thể định cấu hình của bạn.

 require(["jquery"], function(jQuery) {
      jQuery(".product-options-wrapper select[id^='attribute']").last().on('change', function() {
          setTimeout(function (){
            simpleId=jQuery("input[name=selected_configurable_option]").val();
            alert(simpleId);
          }, 500); 
      });
}); // Required

Nếu bạn có swatch cấu hình hơn nó sẽ yêu cầu thay đổi nhỏ trong mã ở trên. Hy vọng nó sẽ giúp được ai đó.

Cảm ơn bạn


1

Hãy thử mã dưới đây.

foreach($collection as $_product) {
    $_children = $_product->getTypeInstance()->getUsedProductIds($_product);
    $getChildId = array();
    foreach ($_children as $child){
        $getChildId[] = $child->getID();
    }
    print_r($getChildId);
}

cảm ơn vì đã phát lại nhưng tôi muốn một cái gì đó nhiều hơn, khi tôi nhấp vào kích thước của bất kỳ giá trị nào với màu tương ứng, nó chỉ trả về id sản phẩm đơn giản đó.
Jitendra Mohanta

1

Nếu bạn cần lấy id của sản phẩm đơn giản được chọn trong sản phẩm có thể định cấu hình ở phía máy khách, bạn có thể thực hiện theo cách dưới đây.

Đây là chức năng đơn giản để đạt được điều đó mà không cần sửa đổi mã, các mẫu mới hoặc thậm chí các mô-đun. Chỉ cần một tệp Javascript và cập nhật bố cục.

Product.Config.prototype.getIdOfSelectedProduct = function()
{
     var existingProducts = new Object();

     for(var i=this.settings.length-1;i>=0;i--)
     {
         var selected = this.settings[i].options[this.settings[i].selectedIndex];
         if(selected.config)
         {
            for(var iproducts=0;iproducts<selected.config.products.length;iproducts++)
            {
                var usedAsKey = selected.config.products[iproducts]+"";
                if(existingProducts[usedAsKey]==undefined)
                {
                    existingProducts[usedAsKey]=1;
                }
                else
                {
                    existingProducts[usedAsKey]=existingProducts[usedAsKey]+1;
                }
             }
         }
     }

     for (var keyValue in existingProducts)
     {
        for ( var keyValueInner in existingProducts)
         {
            if(Number(existingProducts[keyValueInner])<Number(existingProducts[keyValue]))
            {
                delete existingProducts[keyValueInner];
            }
         }
     }

     var sizeOfExistingProducts=0;
     var currentSimpleProductId = "";
     for ( var keyValue in existingProducts)
     {
        currentSimpleProductId = keyValue;
        sizeOfExistingProducts=sizeOfExistingProducts+1
     }

     if(sizeOfExistingProducts==1)
     {
         alert("Selected product is: "+currentSimpleProductId)
     }
}

Bạn nên cập nhật câu trả lời hiện tại của bạn.
Khoa TruongDinh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.