Заполнение формы заказа magento пользовательскими атрибутами

#php #magento

#php #magento

Вопрос:

Я создал набор атрибутов и добавил shirtsize атрибут с параметрами Small, Medium и Large.

В template / catalog /product /view.phtml я заполняю выпадающий список с

 <?php
$attribute = Mage::getModel('eav/config')->getAttribute('catalog_product', 'shirtsize');
foreach ($attribute->getSource()->getAllOptions(true, true) as $instance) {
  echo '<option>' . $instance['label'] . '</option>';
}
?>
  

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

Как я могу этого добиться?

Комментарии:

1. вы обращались к шаблону по умолчанию и наблюдали, как там все обрабатывается?

2. Когда я применяю шаблон по умолчанию, я не вижу пользовательских атрибутов, которые я добавил в серверную часть. Я не уверен, должны ли они отображаться, или мне нужно вручную отобразить их (как я и сделал).

3. они должны отображаться, если настроены правильно

Ответ №1:

Похоже, что вы пытаетесь создать настраиваемый продукт. Чтобы сделать это и дать клиенту возможность выбрать правильный размер в каталоге, нужно добавить элемент типа «Настраиваемый продукт» и добавить элементы типа «Простой продукт» под ним (по одному для каждого размера). Когда вы сделаете настраиваемый продукт доступным для просмотра в каталоге, Magento автоматически предоставит параметры размеров и будет управлять техническими аспектами покупки продуктов каждого размера.

Если вы не хотите производить так много продуктов, вам больше подойдет опция Product в продукте, которая не добавляется в качестве атрибута. Вместо этого добавьте ее к вашему продукту в форме редактирования, и снова Magento будет управлять выбором / сохранением этой опции.

Надеюсь, это поможет!

Спасибо, Джо

Комментарии:

1. Спасибо! Мне нужно было использовать параметры продукта вместо настраиваемого продукта. Теперь я вижу свои выпадающие списки, созданные из Magento.