2016-07-05 34 views
0

Я создаю логику Marketplace для своего веб-сайта, но у меня возникла проблема с формой product_addtocart_form.Magento - Добавить пользовательскую логику на product_addtocart_form для Marketplace

Я настроил страницу продукта, и я пытаюсь установить customAttribute и получить его на тележке.

Пример: Пользователь имеет 3 варианта выбора на странице продукта. Я хочу сохранить информацию о том, какой вариант пользователь выбрал и получить в корзине.

Mage::getSingleton('checkout/session')->setData('marketplace_info', $customInfo); 

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

Форма, которую я пытаюсь настроить помещенного на view.phtml и HTML является:

<form action="*magento-url*" method="post" id="product_addtocart_form"> 

логики, что я хочу создать:

Пользователь выбрать один из вариантов (кнопка)> My пользовательская логика устанавливает customAttribute (упомянутая выше логика)> Логика по умолчанию Magento добавляет продукт в корзину.

Любая идея? Thx

ответ

0

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

<input type="hidden" name="newVal" value="<?php echo 'yourValue'?>"> 

Сейчас в вашем корзину контроллер вы легко получить это значение. И там вы можете установить значение в вашей сессии или где захотите. Не забудьте добавить чек «if(isset('yourvalue')){}», как это в вашем контроллере.

+0

Hi Kingshuk. Thx для вашего ответа. У меня есть 2 вопроса: пользователь может выбирать между многими параметрами, так как я создам тег 'input' после того, как пользователь выберет опцию? И «контроллер тележки» вы имеете в виду «Cart.php»? Если да, я должен отредактировать функцию 'addProduct'? –

+0

Если это уже поле выбора, вам не нужно использовать поле ввода .. потому что вы получите это значение в файле cartController.php –

+0

Nice Kingshuk. Thx за вашу помощь. Я нашел 'CartController.php', и я вношу некоторые изменения в файл. Просто для подтверждения, функция, которую мне нужно настроить, это 'function addAction', правильно? –