Magento: добавить несколько товаров в корзину одновременно с флажком - PullRequest
0 голосов
/ 24 июня 2011

У нас есть сценарий, где на странице продукта у нас есть несколько текстовых ссылок, которые ссылаются на покупаемый продукт "в дополнение к фактическому продукту, который пользователь просматривает в настоящее время".

Цель состоит в том, чтобы позволитьпользователь может создавать дополнительные разделы с помощью флажка или, возможно, переключателя, а затем добавлять выбранный дополнительный элемент в корзину, когда пользователь нажимает кнопку общего добавления в корзину.

Идея состоит в том, чтобы продавать дополнительные услуги, такие какв качестве гарантии, членства или других в то же время, что и покупка их основного продукта.

Хотя я действительно понимаю, что это можно сделать с помощью сгруппированных или связанных продуктов, мы хотим иметь гораздо более индивидуальное представление о том, какпродукты представлены на странице, что заставляет нас использовать этот метод добавления нескольких продуктов на лету.

Другая трудность заключается в том, что мы хотели бы попытаться избежать изменения каких-либо основных файлов и остаться в стороне от темы и локальныхфайлы, если это вообще возможно.

Спасибо в advance!

[ОБНОВЛЕНИЕ] Я тестировал небольшой фрагмент кода, который добавит фактический товар с помощью следующего, когда пользователь использует добавление по умолчанию в корзину

<?php // add multiple items to cart
$cart = Mage::getModel("checkout/cart");
$cart->addProduct($someId, $someQty);                                
$cart->save();
?>

1 Ответ

1 голос
/ 21 июля 2011

Нашли решения со следующим:

<script type="text/javascript">
//<![CDATA[
$$('.related-checkbox').each(function(elem){
Event.observe(elem, 'click', addRelatedToProduct)
});

var relatedProductsCheckFlag = false;
function addRelatedToProduct(){
var checkboxes = $$('.related-checkbox');
var values = [];
for(var i=0;i<checkboxes.length;i++){
    if(checkboxes[i].checked) values.push(checkboxes[i].value);
}
if($('related-products-field')){
    $('related-products-field').value = values.join(',');
}
}
//]]>
</script>

Затем можно добавить следующие элементы:

<input type="checkbox" class="checkbox related-checkbox" id="related-checkbox35" name="related_products[]" value="35">

Надеюсь, это поможет кому-нибудь в будущем попытаться сделать то же самое!

ура!

...