Как добавить поля на нестандартную вкладку административного экрана товара?

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 psy_spray
  • Группа: Пользователь
  • Сообщений: 4
  • Регистрация: 17.02.2012

17.02.2012 08:36

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

Name Amount per day %DV
<input type="text"/> <input type="text"/> <input type="text"/>
<input type="button" value="Add New Line"/>

При каждом клике по кнопке добавляется еще одна строка с тремя текстовыми полями.
Т.е. надо чтобы админ мог добавлять столько строк, сколько ему надо для каждого продукта.
Вопрос в том, как это реализовать. Может у кого есть идеи или возможно кто-то подскажет плагин со схожим функционалом.
Заранее спасибо.

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

17.02.2012 08:41

А вы вкладку на административную товарную страницу уже научились добавлять?

#3 psy_spray
  • Группа: Пользователь
  • Сообщений: 4
  • Регистрация: 17.02.2012

17.02.2012 10:15

Да, вкладка уже есть. Трудности у меня с динамическим добавлением полей.

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

17.02.2012 10:21

Поля на вкладку добавляются стандартным для административной части Magento способом: посредством класса Varien_Data_Form.
В качестве примера посмотрите создание вкладки "Цены": Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Price.

class Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Price extends Mage_Adminhtml_Block_Widget_Form
{
    protected function _prepareForm()
    {
        $product = Mage::registry('product');

        $form = new Varien_Data_Form();
        $fieldset = $form->addFieldset('tiered_price', array('legend'=>Mage::helper('catalog')->__('Tier Pricing')));

        $fieldset->addField('default_price', 'label', array(
                'label'=> Mage::helper('catalog')->__('Default Price'),
                'title'=> Mage::helper('catalog')->__('Default Price'),
                'name'=>'default_price',
                'bold'=>true,
                'value'=>$product->getPrice()
        ));

        $fieldset->addField('tier_price', 'text', array(
                'name'=>'tier_price',
                'class'=>'requried-entry',
                'value'=>$product->getData('tier_price')
        ));

        $form->getElement('tier_price')->setRenderer(
            $this->getLayout()->createBlock('adminhtml/catalog_product_edit_tab_price_tier')
        );

        $this->setForm($form);
    }
}


#5 psy_spray
  • Группа: Пользователь
  • Сообщений: 4
  • Регистрация: 17.02.2012

17.02.2012 11:49

Дмитрий Федюк,
Спасибо большое, вроде как то, что надо. Буду пробовать.

#6 psy_spray
  • Группа: Пользователь
  • Сообщений: 4
  • Регистрация: 17.02.2012

17.02.2012 12:39

А не подскажете ли еще как реализуется сохранение и выборка из базы всего этого дела. Я, как вы наверное догадались, в Магенте не силен))

#7 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

17.02.2012 12:56

Как задавать вопросы на этом форуме?

Поделиться темой: