/** * Add fieldsets * * @return $this * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ protected function _prepareForm() { /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(['data' => ['id' => 'edit_form', 'action' => $this->getUrl('adminhtml/*/validate'), 'method' => 'post', 'enctype' => 'multipart/form-data']]); // base fieldset $fieldsets['base'] = $form->addFieldset('base_fieldset', ['legend' => __('Import Settings')]); $fieldsets['base']->addField('entity', 'select', ['name' => 'entity', 'title' => __('Entity Type'), 'label' => __('Entity Type'), 'required' => true, 'onchange' => 'varienImport.handleEntityTypeSelector();', 'values' => $this->_entityFactory->create()->toOptionArray(), 'after_element_html' => $this->getDownloadSampleFileHtml()]); // add behaviour fieldsets $uniqueBehaviors = $this->_importModel->getUniqueEntityBehaviors(); foreach ($uniqueBehaviors as $behaviorCode => $behaviorClass) { $fieldsets[$behaviorCode] = $form->addFieldset($behaviorCode . '_fieldset', ['legend' => __('Import Behavior'), 'class' => 'no-display']); /** @var $behaviorSource \Magento\ImportExport\Model\Source\Import\AbstractBehavior */ $fieldsets[$behaviorCode]->addField($behaviorCode, 'select', ['name' => 'behavior', 'title' => __('Import Behavior'), 'label' => __('Import Behavior'), 'required' => true, 'disabled' => true, 'values' => $this->_behaviorFactory->create($behaviorClass)->toOptionArray(), 'class' => $behaviorCode, 'onchange' => 'varienImport.handleImportBehaviorSelector();', 'note' => ' ']); $fieldsets[$behaviorCode]->addField($behaviorCode . \Magento\ImportExport\Model\Import::FIELD_NAME_VALIDATION_STRATEGY, 'select', ['name' => \Magento\ImportExport\Model\Import::FIELD_NAME_VALIDATION_STRATEGY, 'title' => __(' '), 'label' => __(' '), 'required' => true, 'class' => $behaviorCode, 'disabled' => true, 'values' => [ProcessingErrorAggregatorInterface::VALIDATION_STRATEGY_STOP_ON_ERROR => 'Stop on Error', ProcessingErrorAggregatorInterface::VALIDATION_STRATEGY_SKIP_ERRORS => 'Skip error entries'], 'after_element_html' => $this->getDownloadSampleFileHtml()]); $fieldsets[$behaviorCode]->addField($behaviorCode . '_' . \Magento\ImportExport\Model\Import::FIELD_NAME_ALLOWED_ERROR_COUNT, 'text', ['name' => \Magento\ImportExport\Model\Import::FIELD_NAME_ALLOWED_ERROR_COUNT, 'label' => __('Allowed Errors Count'), 'title' => __('Allowed Errors Count'), 'required' => true, 'disabled' => true, 'value' => 10, 'class' => $behaviorCode . ' validate-number validate-greater-than-zero input-text', 'note' => __('Please specify number of errors to halt import process')]); $fieldsets[$behaviorCode]->addField($behaviorCode . '_' . \Magento\ImportExport\Model\Import::FIELD_FIELD_SEPARATOR, 'text', ['name' => \Magento\ImportExport\Model\Import::FIELD_FIELD_SEPARATOR, 'label' => __('Field separator'), 'title' => __('Field separator'), 'required' => true, 'disabled' => true, 'class' => $behaviorCode, 'value' => ',']); $fieldsets[$behaviorCode]->addField($behaviorCode . \Magento\ImportExport\Model\Import::FIELD_FIELD_MULTIPLE_VALUE_SEPARATOR, 'text', ['name' => \Magento\ImportExport\Model\Import::FIELD_FIELD_MULTIPLE_VALUE_SEPARATOR, 'label' => __('Multiple value separator'), 'title' => __('Multiple value separator'), 'required' => true, 'disabled' => true, 'class' => $behaviorCode, 'value' => ',']); } // fieldset for file uploading $fieldsets['upload'] = $form->addFieldset('upload_file_fieldset', ['legend' => __('File to Import'), 'class' => 'no-display']); $fieldsets['upload']->addField(\Magento\ImportExport\Model\Import::FIELD_NAME_SOURCE_FILE, 'file', ['name' => \Magento\ImportExport\Model\Import::FIELD_NAME_SOURCE_FILE, 'label' => __('Select File to Import'), 'title' => __('Select File to Import'), 'required' => true, 'class' => 'input-file']); $fieldsets['upload']->addField(\Magento\ImportExport\Model\Import::FIELD_NAME_IMG_FILE_DIR, 'text', ['name' => \Magento\ImportExport\Model\Import::FIELD_NAME_IMG_FILE_DIR, 'label' => __('Images File Directory'), 'title' => __('Images File Directory'), 'required' => false, 'class' => 'input-text', 'note' => __('For Type "Local Server" use relative path to Magento installation, e.g. var/export, var/import, var/export/some/dir')]); $form->setUseContainer(true); $this->setForm($form); return parent::_prepareForm(); }
/** * Add fieldsets * * @return $this * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ protected function _prepareForm() { /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(['data' => ['id' => 'edit_form', 'action' => $this->getUrl('adminhtml/*/validate'), 'method' => 'post', 'enctype' => 'multipart/form-data']]); // base fieldset $fieldsets['base'] = $form->addFieldset('base_fieldset', ['legend' => __('Import Settings')]); $fieldsets['base']->addField('entity', 'select', ['name' => 'entity', 'title' => __('Entity Type'), 'label' => __('Entity Type'), 'required' => true, 'onchange' => 'varienImport.handleEntityTypeSelector();', 'values' => $this->_entityFactory->create()->toOptionArray()]); // add behaviour fieldsets $uniqueBehaviors = $this->_importModel->getUniqueEntityBehaviors(); foreach ($uniqueBehaviors as $behaviorCode => $behaviorClass) { $fieldsets[$behaviorCode] = $form->addFieldset($behaviorCode . '_fieldset', ['legend' => __('Import Behavior'), 'class' => 'no-display']); /** @var $behaviorSource \Magento\ImportExport\Model\Source\Import\AbstractBehavior */ $fieldsets[$behaviorCode]->addField($behaviorCode, 'select', ['name' => 'behavior', 'title' => __('Import Behavior'), 'label' => __('Import Behavior'), 'required' => true, 'disabled' => true, 'values' => $this->_behaviorFactory->create($behaviorClass)->toOptionArray(), 'class' => $behaviorCode]); $fieldsets[$behaviorCode]->addField($behaviorCode . \Magento\ImportExport\Model\Import::FIELD_FIELD_SEPARATOR, 'text', ['name' => \Magento\ImportExport\Model\Import::FIELD_FIELD_SEPARATOR, 'label' => __('Field separator'), 'title' => __('Field separator'), 'required' => true, 'disabled' => true, 'class' => $behaviorCode, 'value' => ',']); $fieldsets[$behaviorCode]->addField($behaviorCode . \Magento\ImportExport\Model\Import::FIELD_FIELD_MULTIPLE_VALUE_SEPARATOR, 'text', ['name' => \Magento\ImportExport\Model\Import::FIELD_FIELD_MULTIPLE_VALUE_SEPARATOR, 'label' => __('Multiple value separator'), 'title' => __('Multiple value separator'), 'required' => true, 'disabled' => true, 'class' => $behaviorCode, 'value' => ',']); } // fieldset for file uploading $fieldsets['upload'] = $form->addFieldset('upload_file_fieldset', ['legend' => __('File to Import'), 'class' => 'no-display']); $fieldsets['upload']->addField(\Magento\ImportExport\Model\Import::FIELD_NAME_SOURCE_FILE, 'file', ['name' => \Magento\ImportExport\Model\Import::FIELD_NAME_SOURCE_FILE, 'label' => __('Select File to Import'), 'title' => __('Select File to Import'), 'required' => true, 'class' => 'input-file']); $fieldsets['upload']->addField(\Magento\ImportExport\Model\Import::FIELD_NAME_IMG_FILE_DIR, 'text', ['name' => \Magento\ImportExport\Model\Import::FIELD_NAME_IMG_FILE_DIR, 'label' => __('Images File Directory'), 'title' => __('Images File Directory'), 'required' => false, 'class' => 'input-text', 'note' => __('For Type "Local Server" use relative path to Magento installation, e.g. var/export, var/import, var/export/some/dir')]); $form->setUseContainer(true); $this->setForm($form); return parent::_prepareForm(); }
/** * Add fieldsets * * @return $this */ protected function _prepareForm() { /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(array('data' => array('id' => 'edit_form', 'action' => $this->getUrl('adminhtml/*/validate'), 'method' => 'post', 'enctype' => 'multipart/form-data'))); // base fieldset $fieldsets['base'] = $form->addFieldset('base_fieldset', array('legend' => __('Import Settings'))); $fieldsets['base']->addField('entity', 'select', array('name' => 'entity', 'title' => __('Entity Type'), 'label' => __('Entity Type'), 'required' => true, 'onchange' => 'varienImport.handleEntityTypeSelector();', 'values' => $this->_entityFactory->create()->toOptionArray())); // add behaviour fieldsets $uniqueBehaviors = $this->_importModel->getUniqueEntityBehaviors(); foreach ($uniqueBehaviors as $behaviorCode => $behaviorClass) { $fieldsets[$behaviorCode] = $form->addFieldset($behaviorCode . '_fieldset', array('legend' => __('Import Behavior'), 'class' => 'no-display')); /** @var $behaviorSource \Magento\ImportExport\Model\Source\Import\AbstractBehavior */ $fieldsets[$behaviorCode]->addField($behaviorCode, 'select', array('name' => 'behavior', 'title' => __('Import Behavior'), 'label' => __('Import Behavior'), 'required' => true, 'disabled' => true, 'values' => $this->_behaviorFactory->create($behaviorClass)->toOptionArray())); } // fieldset for file uploading $fieldsets['upload'] = $form->addFieldset('upload_file_fieldset', array('legend' => __('File to Import'), 'class' => 'no-display')); $fieldsets['upload']->addField(\Magento\ImportExport\Model\Import::FIELD_NAME_SOURCE_FILE, 'file', array('name' => \Magento\ImportExport\Model\Import::FIELD_NAME_SOURCE_FILE, 'label' => __('Select File to Import'), 'title' => __('Select File to Import'), 'required' => true, 'class' => 'input-file')); $form->setUseContainer(true); $this->setForm($form); return parent::_prepareForm(); }
/** * {@inheritdoc} */ public function getUniqueEntityBehaviors() { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getUniqueEntityBehaviors'); if (!$pluginInfo) { return parent::getUniqueEntityBehaviors(); } else { return $this->___callPlugins('getUniqueEntityBehaviors', func_get_args(), $pluginInfo); } }
/** * Return json-encoded list of existing behaviors * * @return string */ public function getUniqueBehaviors() { $uniqueBehaviors = $this->_importModel->getUniqueEntityBehaviors(); return $this->_jsonEncoder->encode(array_keys($uniqueBehaviors)); }