/** * Prepare form * * @return $this */ protected function _prepareForm() { /** * Checking if user have permission to save information */ if ($this->_isAllowedAction('Ves_Setup::import')) { $isElementDisabled = false; } else { $isElementDisabled = true; } /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(['data' => ['id' => 'edit_form', 'action' => $this->getData('action'), 'method' => 'post', 'enctype' => 'multipart/form-data']]); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Ves Setup Import')]); $folders = $this->_exportFolders->toArray(); $fds = []; foreach ($folders as $k => $v) { $k = strtolower(str_replace("/", "-", $k)); $fds[$k] = $v; } $fieldset->addField('folder', 'select', ['label' => __('Folder'), 'title' => __('Folder'), 'name' => 'folder', 'options' => $fds, 'disabled' => $isElementDisabled, 'class' => 'ves-import']); foreach ($this->_exportFolders->toArray() as $key => $val) { $orginKey = $key; $key = strtolower(str_replace("/", "-", $key)); $fieldPreset = $fieldset->addField($key, 'select', ['name' => $key, 'label' => __('Select Configuration to Import'), 'title' => __('Select Configuration to Import'), 'values' => $this->_importFiles->toOptionArray($orginKey), 'note' => ' Folder: <strong>app/design/frontend/' . $orginKey . '/backup</strong> <script type="text/javascript"> require(["jquery"], function(){ jQuery("#' . $key . '").parents(".admin__field").hide(); jQuery(".ves-import").change(function(){ var folder_name = jQuery(this).val(); if(folder_name!="' . $key . '"){ jQuery("#' . $key . '").parents(".admin__field").hide(); }else{ jQuery("#' . $key . '").parents(".admin__field").show(); } }).change(); jQuery("#' . $key . '").change(function(){ var data_import_file = jQuery(this).val(); if(data_import_file == "data_import_file"){ jQuery("#data_import_file").parents(".admin__field").show(); }else{ jQuery("#data_import_file").parents(".admin__field").hide(); } }).change(); });</script>']); } $fieldset->addField('data_import_file', 'file', ['name' => 'data_import_file', 'label' => __('Upload Custom File'), 'title' => __('Upload Custom File'), 'after_element_html' => ' <script type="text/javascript"> require(["jquery"], function(){ jQuery("#data_import_file").parents(".admin__field").hide(); }); </script> ']); $fieldset->addField('overwrite_blocks', 'select', ['name' => 'overwrite_blocks', 'label' => __('Overwrite Existing Blocks'), 'title' => __('Overwrite Existing Blocks'), 'values' => $this->_yesno->toArray(), 'note' => __('If set to <b>Yes</b>, the import data will override exist data. Check exits data according to the field <b>URL Key</b> of <b>Cms Pages</b> and the field <b>Identifier</b> of <b>Static Block</b>.<br><br>If set to <b>No</b>, the function import will empty data of all table of <b>CMS Page</b> and <b>Static Block</b>, then insert import data.')]); $field = $fieldset->addField('store_id', 'select', ['name' => 'store_id', 'label' => __('Configuration Scope'), 'title' => __('Configuration Scope'), 'values' => $this->_systemStore->getStoreValuesForForm(false, true), 'disabled' => $isElementDisabled, 'note' => __('Imported configuration settings will be applied to selected scope (selected store view or website). If you\'re not sure what is \'scope\' in Magento system configuration.<br/><br/>It is highly recommended to leave the default scope <strong>\'Default Config\'</strong>. In this case imported configuration will be applied to all existing store views.')]); $form->setUseContainer(true); $this->setForm($form); return parent::_prepareForm(); }
/** * Prepare form * * @return $this */ protected function _prepareForm() { /** @var \Sample\News\Model\Author $author */ $author = $this->_coreRegistry->registry('sample_news_author'); $form = $this->_formFactory->create(); $form->setHtmlIdPrefix('author_'); $form->setFieldNameSuffix('author'); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Author Information'), 'class' => 'fieldset-wide']); $fieldset->addType('image', 'Sample\\News\\Block\\Adminhtml\\Author\\Helper\\Image'); $fieldset->addType('file', 'Sample\\News\\Block\\Adminhtml\\Author\\Helper\\File'); if ($author->getId()) { $fieldset->addField('author_id', 'hidden', ['name' => 'author_id']); } $fieldset->addField('name', 'text', ['name' => 'name', 'label' => __('Name'), 'title' => __('Name'), 'required' => true]); $fieldset->addField('url_key', 'text', ['name' => 'url_key', 'label' => __('URL Key'), 'title' => __('URL Key')]); if ($this->_storeManager->isSingleStoreMode()) { $fieldset->addField('store_id', 'hidden', ['name' => 'stores[]', 'value' => $this->_storeManager->getStore(true)->getId()]); $author->setStoreId($this->_storeManager->getStore(true)->getId()); } $fieldset->addField('is_active', 'select', ['label' => __('Is Active'), 'title' => __('Is Active'), 'name' => 'is_active', 'required' => true, 'options' => $author->getAvailableStatuses()]); $fieldset->addField('in_rss', 'select', ['label' => __('Show in RSS'), 'title' => __('Show in RSS'), 'name' => 'in_rss', 'required' => true, 'options' => $this->booleanOptions->toArray()]); $fieldset->addField('biography', 'editor', ['name' => 'biography', 'label' => __('Biography'), 'title' => __('Biography'), 'style' => 'height:36em', 'required' => true, 'config' => $this->wysiwygConfig->getConfig()]); $fieldset->addField('dob', 'date', ['name' => 'dob', 'label' => __('Date of birth'), 'title' => __('Date of birth'), 'image' => $this->getViewFileUrl('images/grid-cal.png'), 'date_format' => $this->_localeDate->getDateFormat(\IntlDateFormatter::SHORT), 'class' => 'validate-date']); $fieldset->addField('type', 'select', ['label' => __('Type'), 'title' => __('Type'), 'name' => 'type', 'required' => true, 'options' => $this->typeOptions->getOptions()]); $fieldset->addField('awards', 'multiselect', ['name' => 'awards', 'label' => __('Awards'), 'title' => __('Awards'), 'values' => $this->awardOptions->toOptionArray()]); $fieldset->addField('avatar', 'image', ['name' => 'avatar', 'label' => __('Avatar'), 'title' => __('Avatar')]); $fieldset->addField('resume', 'file', ['name' => 'resume', 'label' => __('Resume'), 'title' => __('Resume')]); $fieldset->addField('country', 'select', ['name' => 'country', 'label' => __('Country'), 'title' => __('Country'), 'options' => $this->countryOptions->getOptions()]); $authorData = $this->_session->getData('sample_news_author_data', true); if ($authorData) { $author->addData($authorData); } else { if (!$author->getId()) { $author->addData($author->getDefaultValues()); } } $form->addValues($author->getData()); $this->setForm($form); return parent::_prepareForm(); }
/** * Prepare form * * @return $this */ protected function _prepareForm() { /** @var \Gemtoo\Blog\Model\Article $article */ $article = $this->_coreRegistry->registry('gemtoo_blog_article'); $form = $this->_formFactory->create(); $form->setHtmlIdPrefix('article'); $form->setFieldNameSuffix('article'); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Article Information'), 'class' => 'fieldset-wide']); $fieldset->addType('image', 'Gemtoo\\Blog\\Block\\Adminhtml\\Article\\Helper\\Image'); $fieldset->addType('file', 'Gemtoo\\Blog\\Block\\Adminhtml\\Article\\Helper\\File'); if ($article->getId()) { $fieldset->addField('article_id', 'hidden', ['name' => 'article_id']); } $fieldset->addField('name', 'text', ['name' => 'name', 'label' => __('Name'), 'title' => __('Name'), 'required' => true]); $fieldset->addField('url_key', 'text', ['name' => 'url_key', 'label' => __('URL Key'), 'title' => __('URL Key')]); if ($this->_storeManager->isSingleStoreMode()) { $fieldset->addField('store_id', 'hidden', ['name' => 'stores[]', 'value' => $this->_storeManager->getStore(true)->getId()]); $article->setStoreId($this->_storeManager->getStore(true)->getId()); } $fieldset->addField('is_active', 'select', ['label' => __('Is Active'), 'title' => __('Is Active'), 'name' => 'is_active', 'required' => true, 'options' => $article->getAvailableStatuses()]); $fieldset->addField('in_rss', 'select', ['label' => __('Show in RSS'), 'title' => __('Show in RSS'), 'name' => 'in_rss', 'required' => true, 'options' => $this->booleanOptions->toArray()]); $fieldset->addField('content', 'editor', ['name' => 'content', 'label' => __('Content'), 'title' => __('Content'), 'style' => 'height:36em', 'required' => true, 'config' => $this->wysiwygConfig->getConfig()]); $fieldset->addField('dop', 'date', ['name' => 'dop', 'label' => __('Date of publication'), 'title' => __('Date of publication'), 'image' => $this->getViewFileUrl('images/grid-cal.png'), 'date_format' => $this->_localeDate->getDateFormat(\IntlDateFormatter::SHORT), 'class' => 'validate-date']); $fieldset->addField('image', 'image', ['name' => 'image', 'label' => __('Image'), 'title' => __('Image')]); $fieldset->addField('file', 'file', ['name' => 'file', 'label' => __('File'), 'title' => __('File')]); $articleData = $this->_session->getData('gemtoo_blog_article_data', true); if ($articleData) { $article->addData($articleData); } else { if (!$article->getId()) { $article->addData($article->getDefaultValues()); } } $form->addValues($article->getData()); $this->setForm($form); return parent::_prepareForm(); }
/** * Prepare form * * @return $this */ protected function _prepareForm() { /** * Checking if user have permission to save information */ if ($this->_isAllowedAction('Ves_Setup::export')) { $isElementDisabled = false; } else { $isElementDisabled = true; } /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(['data' => ['id' => 'edit_form', 'action' => $this->getData('action'), 'method' => 'post', 'enctype' => 'multipart/form-data']]); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Ves Setup Export')]); $fieldset->addField('file_name', 'text', ['name' => 'file_name', 'label' => __('File Name'), 'title' => __('File Name'), 'required' => true, 'disabled' => $isElementDisabled, 'note' => __('This will be the name of the file in which configuration will be saved. You can enter any name you want.')]); $fieldset->addField('file_extension', 'select', ['name' => 'file_extension', 'label' => __('File Extension'), 'title' => __('File Extension'), 'options' => $this->_fileExtension->toArray(), 'disabled' => $isElementDisabled]); $fieldset->addField('isdowload', 'select', ['label' => __('Download File'), 'title' => __('Download File'), 'name' => 'isdowload', 'options' => $this->_yesno->toArray(), 'disabled' => $isElementDisabled]); $fieldset->addField('folder', 'select', ['label' => __('Folder'), 'title' => __('Folder'), 'name' => 'folder', 'options' => $this->_exportFolders->toArray(), 'disabled' => $isElementDisabled, 'note' => '<script type="text/javascript"> require(["jquery"], function(){ jQuery("#folder").change(function(){ var val = jQuery(this).val(); jQuery("#folder-note").html(""); jQuery("#folder-note").append("Folder: "+val); }).change(); }); </script>']); $field = $fieldset->addField('store_id', 'select', ['name' => 'store_id', 'label' => __('Configuration Scope'), 'title' => __('Configuration Scope'), 'values' => $this->_systemStore->getStoreValuesForForm(false, true), 'disabled' => $isElementDisabled, 'note' => __('Configuration of selected store will be saved in a file. Apply for all system config of modules')]); $field = $fieldset->addField('modules', 'multiselect', ['name' => 'modules[]', 'label' => __('Ves Modules'), 'title' => __('Ves Modules'), 'values' => $this->_vesModules->toOptionArray(), 'disabled' => $isElementDisabled]); $renderer = $this->getLayout()->createBlock('Ves\\Setup\\Block\\Adminhtml\\Form\\Renderer\\Fieldset\\Element'); $field->setRenderer($renderer); $field = $fieldset->addField('cmspages', 'multiselect', ['name' => 'cmspages[]', 'label' => __('CMS Pages'), 'title' => __('CMS Pages'), 'values' => $this->_cmsPage->toOptionArray(), 'disabled' => $isElementDisabled]); $renderer = $this->getLayout()->createBlock('Ves\\Setup\\Block\\Adminhtml\\Form\\Renderer\\Fieldset\\Element'); $field->setRenderer($renderer); $field = $fieldset->addField('cmsblocks', 'multiselect', ['name' => 'cmsblocks[]', 'label' => __('CMS Blocks'), 'title' => __('CMS Blocks'), 'values' => $this->_staticBlock->toOptionArray(), 'disabled' => $isElementDisabled]); $renderer = $this->getLayout()->createBlock('Ves\\Setup\\Block\\Adminhtml\\Form\\Renderer\\Fieldset\\Element'); $field->setRenderer($renderer); $field = $fieldset->addField('widgets', 'multiselect', ['name' => 'widgets[]', 'label' => __('Widgets'), 'title' => __('Widgets'), 'values' => $this->_widgets->toOptionArray(), 'disabled' => $isElementDisabled]); $renderer = $this->getLayout()->createBlock('Ves\\Setup\\Block\\Adminhtml\\Form\\Renderer\\Fieldset\\Element'); $field->setRenderer($renderer); $form->setUseContainer(true); $this->setForm($form); return parent::_prepareForm(); }