2013-02-06 174 views
0

我想添加產品到購物車使用拖動&下降。 爲此,我使用jQuery UI Droppable。代碼是: -使用拖放在magento中添加產品到購物車

<script src="http://code.jquery.com/jquery-1.8.3.js"></script> 
    <script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script> 
    <link rel="stylesheet" href="/resources/demos/style.css" /> 
    <script> 
    $(function() { 
$(".category-products").accordion(); 
$(".product-name").draggable({ 
    appendTo: "body", 
    helper: "clone" 
}); 
$(".block-content ol").droppable({ 
    activeClass: "ui-state-default", 
    hoverClass: "ui-state-hover", 
    accept: ":not(.ui-sortable-helper)", 
    drop: function(event, ui) { 
    $(this).find(".placeholder").remove(); 
    $("<li></li>").text(ui.draggable.text()).appendTo(this); 
    } 
}).sortable({ 
    items: "li:not(.placeholder)", 
    sort: function() { 
    // gets added unintentionally by droppable interacting with sortable 
    // using connectWithSortable fixes this, but doesn't allow you to customize active/hoverClass options 
    $(this).removeClass("ui-state-default"); 
    } 
}); 

});

使用此代碼產品名稱將成爲可拖放到購物車,但它們不會添加到購物車。我嘗試但不能將產品名稱添加到購物車。請幫幫我。

+0

這些產品是否有任何產品選擇? –

+0

不,他們沒有 –

回答

1

假設您的產品沒有任何自定義選項。

Store中的產品ID,你的產品列表中的隱藏字段(可拖動LI)

 <li>Lolcat Shirt 
      <input type='hidden' value='2' name='pid' /> 
     </li> 

然後做

drop: function(event, ui) { 
    $(this) 
     .addClass("ui-state-highlight") 
     .find("> p") 
     .html("Dropped!"); 

    add product to cart 
    p_id = ui.draggable.find('input[name="pid"]').val(); 
    $.get("/path/to/app/checkout/cart/add?qty=1&product=" + p_id) 

    return false; 
    } 

http://jsfiddle.net/C2Ufk/

你需要做類似的東西刪除項目

+0

感謝您的回答。產品名稱和購物車框位於不同的phtml文件中。當我傳遞p_id值時,它顯示未定義的值。請幫助我 –

+0

由於這是使用JavaScript的做法,它不應該使一個不同的phtml文件它是不同的。請添加一個截圖,讓我可以更好地瞭解你想做什麼 –

+0

對不起,我得到了錯誤。現在我在alert框中獲得正確的url。 –

相關問題