/** * Prepare form * * @return $this */ protected function _prepareForm() { /** @var \Mageplaza\Blog\Model\Topic $topic */ $topic = $this->_coreRegistry->registry('mageplaza_blog_topic'); $form = $this->_formFactory->create(); $form->setHtmlIdPrefix('topic_'); $form->setFieldNameSuffix('topic'); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Topic Information'), 'class' => 'fieldset-wide']); if ($topic->getId()) { $fieldset->addField('topic_id', 'hidden', ['name' => 'topic_id']); } $fieldset->addField('name', 'text', ['name' => 'name', 'label' => __('Name'), 'title' => __('Name'), 'required' => true]); $fieldset->addField('description', 'editor', ['name' => 'description', 'label' => __('Description'), 'title' => __('Description'), 'config' => $this->wysiwygConfig->getConfig()]); $fieldset->addField('enabled', 'select', ['name' => 'enabled', 'label' => __('Enabled'), 'title' => __('Enabled'), 'values' => $this->booleanOptions->toOptionArray()]); $fieldset->addField('url_key', 'text', ['name' => 'url_key', 'label' => __('URL Key'), 'title' => __('URL Key')]); $fieldset->addField('meta_title', 'text', ['name' => 'meta_title', 'label' => __('Meta Title'), 'title' => __('Meta Title')]); $fieldset->addField('meta_description', 'textarea', ['name' => 'meta_description', 'label' => __('Meta Description'), 'title' => __('Meta Description')]); $fieldset->addField('meta_keywords', 'textarea', ['name' => 'meta_keywords', 'label' => __('Meta Keywords'), 'title' => __('Meta Keywords')]); $fieldset->addField('meta_robots', 'select', ['name' => 'meta_robots', 'label' => __('Meta Robots'), 'title' => __('Meta Robots'), 'values' => array_merge(['' => ''], $this->metaRobotsOptions->toOptionArray())]); $topicData = $this->_session->getData('mageplaza_blog_topic_data', true); if ($topicData) { $topic->addData($topicData); } else { if (!$topic->getId()) { $topic->addData($topic->getDefaultValues()); } } $form->addValues($topic->getData()); $this->setForm($form); return parent::_prepareForm(); }
/** * Prepare form * * @return $this */ protected function _prepareForm() { $model = $this->_coreRegistry->registry('cms_block'); /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(['data' => ['id' => 'edit_form', 'action' => $this->getData('action'), 'method' => 'post']]); $form->setHtmlIdPrefix('block_'); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('General Information'), 'class' => 'fieldset-wide']); if ($model->getBlockId()) { $fieldset->addField('block_id', 'hidden', ['name' => 'block_id']); } $fieldset->addField('title', 'text', ['name' => 'title', 'label' => __('Block Title'), 'title' => __('Block Title'), 'required' => true]); $fieldset->addField('identifier', 'text', ['name' => 'identifier', 'label' => __('Identifier'), 'title' => __('Identifier'), 'required' => true, 'class' => 'validate-xml-identifier']); /* Check is single store mode */ if (!$this->_storeManager->isSingleStoreMode()) { $field = $fieldset->addField('store_id', 'multiselect', ['name' => 'stores[]', 'label' => __('Store View'), 'title' => __('Store View'), 'required' => true, 'values' => $this->_systemStore->getStoreValuesForForm(false, true)]); $renderer = $this->getLayout()->createBlock('Magento\\Backend\\Block\\Store\\Switcher\\Form\\Renderer\\Fieldset\\Element'); $field->setRenderer($renderer); } else { $fieldset->addField('store_id', 'hidden', ['name' => 'stores[]', 'value' => $this->_storeManager->getStore(true)->getId()]); $model->setStoreId($this->_storeManager->getStore(true)->getId()); } $fieldset->addField('is_active', 'select', ['label' => __('Status'), 'title' => __('Status'), 'name' => 'is_active', 'required' => true, 'options' => ['1' => __('Enabled'), '0' => __('Disabled')]]); if (!$model->getId()) { $model->setData('is_active', '1'); } $fieldset->addField('content', 'editor', ['name' => 'content', 'label' => __('Content'), 'title' => __('Content'), 'style' => 'height:36em', 'required' => true, 'config' => $this->_wysiwygConfig->getConfig()]); $form->setValues($model->getData()); $form->setUseContainer(true); $this->setForm($form); return parent::_prepareForm(); }
/** * Prepare form * * @return $this * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ protected function _prepareForm() { /* @var $model \Jk\Test\Model\BlogPosts */ $model = $this->_coreRegistry->registry('test'); $isElementDisabled = false; /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(); $form->setHtmlIdPrefix('page_'); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Item Information')]); if ($model->getId()) { $fieldset->addField('test_id', 'hidden', ['name' => 'test_id']); } $fieldset->addField('title', 'text', ['name' => 'title', 'label' => __('Title'), 'title' => __('Title'), 'required' => true, 'disabled' => $isElementDisabled]); $wysiwygConfig = $this->_wysiwygConfig->getConfig(['tab_id' => $this->getTabId()]); $contentField = $fieldset->addField('content', 'editor', ['name' => 'content', 'style' => 'height:36em;', 'required' => true, 'disabled' => $isElementDisabled, 'config' => $wysiwygConfig]); // Setting custom renderer for content field to remove label column $renderer = $this->getLayout()->createBlock('Magento\\Backend\\Block\\Widget\\Form\\Renderer\\Fieldset\\Element')->setTemplate('Magento_Cms::page/edit/form/renderer/content.phtml'); $contentField->setRenderer($renderer); $dateFormat = $this->_localeDate->getDateFormat(\IntlDateFormatter::SHORT); $fieldset->addField('publish_date', 'date', ['name' => 'publish_date', 'label' => __('Publish Date'), 'date_format' => $dateFormat, 'disabled' => $isElementDisabled, 'class' => 'validate-date validate-date-range date-range-custom_theme-from']); $fieldset->addField('is_active', 'select', ['label' => __('Status'), 'title' => __('Status'), 'name' => 'is_active', 'required' => true, 'options' => $this->_status->getOptionArray(), 'disabled' => $isElementDisabled]); if (!$model->getId()) { $model->setData('is_active', $isElementDisabled ? '0' : '1'); } $form->setValues($model->getData()); $this->setForm($form); return parent::_prepareForm(); }
/** * Prepare form * * @return $this */ protected function _prepareForm() { /** @var $model \Magento\Cms\Model\Page */ $model = $this->_coreRegistry->registry('cms_page'); /* * Checking if user have permissions to save information */ if ($this->_isAllowedAction('Magento_Cms::save')) { $isElementDisabled = false; } else { $isElementDisabled = true; } /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(); $form->setHtmlIdPrefix('page_'); $fieldset = $form->addFieldset('content_fieldset', ['legend' => __('Content'), 'class' => 'fieldset-wide']); $wysiwygConfig = $this->_wysiwygConfig->getConfig(['tab_id' => $this->getTabId()]); $fieldset->addField('content_heading', 'text', ['name' => 'content_heading', 'label' => __('Content Heading'), 'title' => __('Content Heading'), 'disabled' => $isElementDisabled]); $contentField = $fieldset->addField('content', 'editor', ['name' => 'content', 'style' => 'height:36em;', 'required' => true, 'disabled' => $isElementDisabled, 'config' => $wysiwygConfig]); // Setting custom renderer for content field to remove label column $renderer = $this->getLayout()->createBlock('Magento\\Backend\\Block\\Widget\\Form\\Renderer\\Fieldset\\Element')->setTemplate('Magento_Cms::page/edit/form/renderer/content.phtml'); $contentField->setRenderer($renderer); $this->_eventManager->dispatch('adminhtml_cms_page_edit_tab_content_prepare_form', ['form' => $form]); $form->setValues($model->getData()); $this->setForm($form); return parent::_prepareForm(); }
/** * Prepare form * * @return $this */ protected function _prepareForm() { /** @var $model \OsmanSorkar\Blog\Model\Category */ $model = $this->_coreRegistry->registry('blog_category'); /* * Checking if user have permissions to save information */ if ($this->_isAllowedAction('OsmanSorkar_Blog::category_save')) { $isElementDisabled = false; } else { $isElementDisabled = true; } /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(); $form->setHtmlIdPrefix('category_'); //$form->addType("post_photo",""); $fieldset = $form->addFieldset('content_fieldset', ['legend' => __('Content'), 'class' => 'fieldset-wide']); if ($model->getId()) { $fieldset->addField('cat_id', 'hidden', ['name' => 'cat_id']); } $wysiwygConfig = $this->_wysiwygConfig->getConfig(['tab_id' => $this->getTabId()]); $fieldset->addField('name', 'text', ['name' => 'name', 'label' => __('Category Name'), 'title' => __('Category Name'), 'disabled' => $isElementDisabled]); $fieldset->addField('url_key', 'text', ['name' => 'url_key', 'label' => __('Category Url'), 'title' => __('Category Url'), 'disabled' => $isElementDisabled]); $this->_eventManager->dispatch('adminhtml_blog_category_edit_tab_content_prepare_form', ['form' => $form]); $form->setValues($model->getData()); $this->setForm($form); return parent::_prepareForm(); }
/** * Prepare form before rendering HTML * * @return $this * @SuppressWarnings(PHPMD.NPathComplexity) * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ protected function _prepareForm() { $model = $this->getModel(); $identity = $this->_scopeConfig->getValue(\Magento\Newsletter\Model\Subscriber::XML_PATH_UNSUBSCRIBE_EMAIL_IDENTITY, \Magento\Store\Model\ScopeInterface::SCOPE_STORE); $identityName = $this->_scopeConfig->getValue('trans_email/ident_' . $identity . '/name', \Magento\Store\Model\ScopeInterface::SCOPE_STORE); $identityEmail = $this->_scopeConfig->getValue('trans_email/ident_' . $identity . '/email', \Magento\Store\Model\ScopeInterface::SCOPE_STORE); /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(['data' => ['id' => 'edit_form', 'action' => $this->getData('action'), 'method' => 'post']]); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Template Information'), 'class' => 'fieldset-wide']); if ($model->getId()) { $fieldset->addField('id', 'hidden', ['name' => 'id', 'value' => $model->getId()]); } $fieldset->addField('code', 'text', ['name' => 'code', 'label' => __('Template Name'), 'title' => __('Template Name'), 'required' => true, 'value' => $model->getTemplateCode()]); $fieldset->addField('subject', 'text', ['name' => 'subject', 'label' => __('Template Subject'), 'title' => __('Template Subject'), 'required' => true, 'value' => $model->getTemplateSubject()]); $fieldset->addField('sender_name', 'text', ['name' => 'sender_name', 'label' => __('Sender Name'), 'title' => __('Sender Name'), 'required' => true, 'value' => $model->getId() !== null ? $model->getTemplateSenderName() : $identityName]); $fieldset->addField('sender_email', 'text', ['name' => 'sender_email', 'label' => __('Sender Email'), 'title' => __('Sender Email'), 'class' => 'validate-email', 'required' => true, 'value' => $model->getId() !== null ? $model->getTemplateSenderEmail() : $identityEmail]); $widgetFilters = ['is_email_compatible' => 1]; $wysiwygConfig = $this->_wysiwygConfig->getConfig(['widget_filters' => $widgetFilters]); if ($model->isPlain()) { $wysiwygConfig->setEnabled(false); } $fieldset->addField('text', 'editor', ['name' => 'text', 'label' => __('Template Content'), 'title' => __('Template Content'), 'required' => true, 'state' => 'html', 'style' => 'height:36em;', 'value' => $model->getTemplateText(), 'config' => $wysiwygConfig]); if (!$model->isPlain()) { $fieldset->addField('template_styles', 'textarea', ['name' => 'styles', 'label' => __('Template Styles'), 'container_id' => 'field_template_styles', 'value' => $model->getTemplateStyles()]); } $form->setAction($this->getUrl('*/*/save')); $form->setUseContainer(true); $this->setForm($form); return parent::_prepareForm(); }
/** * Prepare form fields * * @return \Magento\Backend\Block\Widget\Form */ protected function _prepareForm() { $form = $this->_formFactory->create(); $form->setHtmlIdPrefix('manufacturer_'); $form->setFieldNameSuffix('manufacturer'); $model = $this->_coreRegistry->registry('manufacturer_manufacturer'); $om = \Magento\Framework\App\ObjectManager::getInstance(); $reader = $om->get('Magento\\Eav\\Model\\Config')->getAttribute('catalog_product', 'manufacturer'); $attributeOptions = $reader->getSource()->getAllOptions(true, true); $default = array('value' => '', 'label' => 'Choose Brand'); $i = 0; $manufacturer[$i] = $default; foreach ($attributeOptions as $key => $value) { $i++; if ($key != 0) { $manufacturer[$i] = $value; //$name[$i] = $value['label']; } } $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('General')]); if ($model->getId()) { $fieldset->addField('id', 'hidden', ['name' => 'id']); } $fieldset->addField('mfc_id', 'select', ['name' => 'mfc_id', 'label' => __('Manufacturer'), 'required' => true, 'values' => $manufacturer]); $fieldset->addField('status', 'select', ['name' => 'status', 'label' => __('Status'), 'options' => $this->_manufacturerStatus->toOptionArray()]); $fieldset->addField('position', 'textarea', ['name' => 'position', 'label' => __('Position'), 'required' => true, 'style' => 'height: 15em; width: 30em;']); $fieldset->addField('image_path', 'image', array('name' => 'image_path', 'label' => __('Image'), 'title' => __('Image'))); $wysiwygConfig = $this->_wysiwygConfig->getConfig(); $fieldset->addField('description', 'editor', ['name' => 'description', 'label' => __('Description'), 'required' => true, 'config' => $wysiwygConfig]); $data = $model->getData(); $form->setValues($data); $this->setForm($form); return parent::_prepareForm(); }
/** * Prepare wysiwyg element HTML * * @param AbstractElement $element Form Element * @return AbstractElement */ public function prepareElementHtml(AbstractElement $element) { /* @var $fieldset \Magento\Framework\Data\Form\Element\Fieldset */ $fieldset = $element->getForm()->getElement($this->getFieldsetId()); $widgetValues = $this->getLayout()->getBlock('easytabs.tab.options')->getWidgetValues(); $fieldset->addField('widget_content', 'editor', ['name' => 'parameters[widget_content]', 'label' => __('Content'), 'title' => __('Content'), 'style' => 'height:36em', 'required' => true, 'config' => $this->wysiwygConfig->getConfig(), 'value' => $widgetValues['widget_content']]); return $element; }
/** * Tests that config doesn't process incoming already prepared data * * @dataProvider getConfigNoProcessingDataProvider */ public function testGetConfigNoProcessing($original) { $config = $this->_model->getConfig($original); $actual = $config->getData(); foreach (array_keys($actual) as $key) { if (!isset($original[$key])) { unset($actual[$key]); } } $this->assertEquals($original, $actual); }
/** * Prepare form for newsletter queue editing. * Form can be run from newsletter template grid by option "Queue newsletter" * or from newsletter queue grid by edit option. * * @return $this * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ protected function _prepareForm() { /* @var $queue \Magento\Newsletter\Model\Queue */ $queue = $this->getQueue(); /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Queue Information'), 'class' => 'fieldset-wide']); $dateFormat = $this->_localeDate->getDateFormat(\IntlDateFormatter::MEDIUM); $timeFormat = $this->_localeDate->getTimeFormat(\IntlDateFormatter::MEDIUM); if ($queue->getQueueStatus() == \Magento\Newsletter\Model\Queue::STATUS_NEVER) { $fieldset->addField('date', 'date', ['name' => 'start_at', 'date_format' => $dateFormat, 'time_format' => $timeFormat, 'label' => __('Queue Date Start')]); if (!$this->_storeManager->hasSingleStore()) { $fieldset->addField('stores', 'multiselect', ['name' => 'stores[]', 'label' => __('Subscribers From'), 'values' => $this->_systemStore->getStoreValuesForForm(), 'value' => $queue->getStores()]); } else { $fieldset->addField('stores', 'hidden', ['name' => 'stores[]', 'value' => $this->_storeManager->getStore(true)->getId()]); } } else { $fieldset->addField('date', 'date', ['name' => 'start_at', 'disabled' => 'true', 'style' => 'width:38%;', 'date_format' => $dateFormat, 'time_format' => $timeFormat, 'label' => __('Queue Date Start')]); if (!$this->_storeManager->hasSingleStore()) { $fieldset->addField('stores', 'multiselect', ['name' => 'stores[]', 'label' => __('Subscribers From'), 'required' => true, 'values' => $this->_systemStore->getStoreValuesForForm(), 'value' => $queue->getStores()]); } else { $fieldset->addField('stores', 'hidden', ['name' => 'stores[]', 'value' => $this->_storeManager->getStore(true)->getId()]); } } if ($queue->getQueueStartAt()) { $form->getElement('date')->setValue($this->_localeDate->date(new \DateTime($queue->getQueueStartAt()))); } $fieldset->addField('subject', 'text', ['name' => 'subject', 'label' => __('Subject'), 'required' => true, 'value' => $queue->isNew() ? $queue->getTemplate()->getTemplateSubject() : $queue->getNewsletterSubject()]); $fieldset->addField('sender_name', 'text', ['name' => 'sender_name', 'label' => __('Sender Name'), 'title' => __('Sender Name'), 'required' => true, 'value' => $queue->isNew() ? $queue->getTemplate()->getTemplateSenderName() : $queue->getNewsletterSenderName()]); $fieldset->addField('sender_email', 'text', ['name' => 'sender_email', 'label' => __('Sender Email'), 'title' => __('Sender Email'), 'class' => 'validate-email', 'required' => true, 'value' => $queue->isNew() ? $queue->getTemplate()->getTemplateSenderEmail() : $queue->getNewsletterSenderEmail()]); $widgetFilters = ['is_email_compatible' => 1]; $wysiwygConfig = $this->_wysiwygConfig->getConfig(['widget_filters' => $widgetFilters]); if ($queue->isNew()) { $fieldset->addField('text', 'editor', ['name' => 'text', 'label' => __('Message'), 'state' => 'html', 'required' => true, 'value' => $queue->getTemplate()->getTemplateText(), 'style' => 'height: 600px;', 'config' => $wysiwygConfig]); $fieldset->addField('styles', 'textarea', ['name' => 'styles', 'label' => __('Newsletter Styles'), 'container_id' => 'field_newsletter_styles', 'value' => $queue->getTemplate()->getTemplateStyles()]); } elseif (\Magento\Newsletter\Model\Queue::STATUS_NEVER != $queue->getQueueStatus()) { $fieldset->addField('text', 'textarea', ['name' => 'text', 'label' => __('Message'), 'value' => $queue->getNewsletterText()]); $fieldset->addField('styles', 'textarea', ['name' => 'styles', 'label' => __('Newsletter Styles'), 'value' => $queue->getNewsletterStyles()]); $form->getElement('text')->setDisabled('true')->setRequired(false); $form->getElement('styles')->setDisabled('true')->setRequired(false); $form->getElement('subject')->setDisabled('true')->setRequired(false); $form->getElement('sender_name')->setDisabled('true')->setRequired(false); $form->getElement('sender_email')->setDisabled('true')->setRequired(false); $form->getElement('stores')->setDisabled('true'); } else { $fieldset->addField('text', 'editor', ['name' => 'text', 'label' => __('Message'), 'state' => 'html', 'required' => true, 'value' => $queue->getNewsletterText(), 'style' => 'height: 600px;', 'config' => $wysiwygConfig]); $fieldset->addField('styles', 'textarea', ['name' => 'styles', 'label' => __('Newsletter Styles'), 'value' => $queue->getNewsletterStyles(), 'style' => 'height: 300px;']); } $this->setForm($form); return $this; }
/** * Prepare form for render * * @return void */ protected function _prepareLayout() { parent::_prepareLayout(); /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(['data' => ['id' => 'edit_form', 'action' => $this->getUrl('tbslider/*/save'), 'method' => 'post', 'enctype' => 'multipart/form-data']]); $slideritemsId = $this->_coreRegistry->registry(RegistryConstants::CURRENT_SLIDERITEM_ID); /** @var \Stepzerosolutions\Tbslider\Api\Data\SlideritemsInterface $slideritem */ if ($slideritemsId === null) { $slider = $this->slideritemsDataFactory->create(); } else { $slider = $this->_slideritemsRepository->getById($slideritemsId); } $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Slider item Information')]); $validateClass = 'required-entry validate-length maximum-length-100'; $slideritemTitle = $fieldset->addField('slideritem_title', 'text', ['name' => 'slideritem_title', 'label' => __('Title'), 'title' => __('Title'), 'class' => $validateClass, 'required' => true]); $fieldset->addField('slideritem_description', 'editor', ['name' => 'slideritem_description', 'label' => __('Content'), 'title' => __('Content'), 'style' => 'height:25em', 'config' => $this->_wysiwygConfig->getConfig()]); $fieldset->addField('slideritem_slider', 'select', ['name' => 'slideritem_slider', 'label' => __('Select Slider'), 'class' => 'required-entry', 'values' => $this->sliderSource->toOptionArray(), 'value' => isset($formValues['slideritem_slider']) ? $formValues['slideritem_slider'] : [], 'required' => true]); $slideritemTitle = $fieldset->addField('slider_url', 'text', ['name' => 'slider_url', 'label' => __('URL'), 'title' => __('URL'), 'class' => '']); $fieldset->addField('filename', 'image', ['title' => __('Slider Image'), 'label' => __('Slider Image'), 'name' => 'filename', 'note' => 'Allow image type: jpg, jpeg, gif, png', 'class' => 'required-entry', 'required' => true]); $fieldset->addField('filenamemd', 'image', ['title' => __('Slider Image (Medium Devices). Leave empty for auto generate'), 'label' => __('Slider Image (Medium Devices). Leave empty for auto generate'), 'name' => 'filenamemd', 'note' => 'Allow image type: jpg, jpeg, gif, png']); $fieldset->addField('filenamesm', 'image', ['title' => __('Slider Image (Small Devices). Leave empty for auto generate'), 'label' => __('Slider Image (Small Devices). Leave empty for auto generate'), 'name' => 'filenamesm', 'note' => 'Allow image type: jpg, jpeg, gif, png']); $fieldset->addField('filenamexs', 'image', ['title' => __('Slider Image (Extra Small Devices). Leave empty for auto generate'), 'label' => __('Slider Image (Extra Small Devices). Leave empty for auto generate'), 'name' => 'filenamexs', 'note' => 'Allow image type: jpg, jpeg, gif, png']); $fieldset->addField('is_active', 'select', ['label' => __('Is Active'), 'title' => __('Is Active'), 'name' => 'is_active', 'required' => true, 'options' => ['1' => __('Enabled'), '0' => __('Disabled')]]); $slideritemTitle = $fieldset->addField('slider_sort', 'text', ['name' => 'slider_sort', 'label' => __('Sort Order'), 'title' => __('Sort Order'), 'class' => 'validate-length maximum-length-4', 'width' => '80px']); //var_dump($slider->getData()); if ($slider->getId() !== null) { // If edit add id $form->addField('id', 'hidden', ['name' => 'id', 'value' => $slider->getId()]); } if ($this->_backendSession->getslideritemsData()) { $form->addValues($this->_backendSession->getslideritemsData()); $this->_backendSession->setslideritemsData(null); } else { // TODO: need to figure out how the DATA can work with forms $tmp = $slider->getSliderImagePath(); $filename = !empty($tmp) ? $this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA) . $slider->getSliderImagePath() : null; $tmp = $slider->getSliderImageMdPath(); $filenamemd = !empty($tmp) ? $this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA) . $slider->getSliderImageMdPath() : null; $tmp = $slider->getSliderImageSmPath(); $filenamesm = !empty($tmp) ? $this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA) . $slider->getSliderImageSmPath() : null; $tmp = $slider->getSliderImageXsPath(); $filenamexs = !empty($tmp) ? $this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA) . $slider->getSliderImageXsPath() : null; $form->addValues(['slideritem_id' => $slider->getId(), 'slideritem_title' => $slider->getSlideritemTitle(), 'slideritem_description' => $slider->getSlideritemDescription(), 'filename' => $filename, 'filenamemd' => $filenamemd, 'filenamesm' => $filenamesm, 'filenamexs' => $filenamexs, 'slideritem_slider' => $slider->getSlideritemSlider(), 'is_active' => $slider->getIsActive(), 'slider_sort' => $slider->getSliderSort()]); } $form->setUseContainer(true); $form->setId('edit_form'); $form->setAction($this->getUrl('tbslider/*/save')); $form->setMethod('post'); $this->setForm($form); }
/** * Retrieve additional html and put it at the end of element html * * @return string */ public function getAfterElementHtml() { $config = $this->_wysiwygConfig->getConfig(); $config = json_encode($config->getData()); $html = parent::getAfterElementHtml(); if ($this->getIsWysiwygEnabled()) { $disabled = $this->getDisabled() || $this->getReadonly(); $html .= $this->_layout->createBlock('Magento\\Backend\\Block\\Widget\\Button', '', ['data' => ['label' => __('WYSIWYG Editor'), 'type' => 'button', 'disabled' => $disabled, 'class' => 'action-wysiwyg', 'onclick' => 'catalogWysiwygEditor.open(\'' . $this->_backendData->getUrl('catalog/product/wysiwyg') . '\', \'' . $this->getHtmlId() . '\')']])->toHtml(); $html .= <<<HTML <script> require([ 'jquery', 'mage/adminhtml/wysiwyg/tiny_mce/setup' ], function(jQuery){ var config = {$config}, editor; jQuery.extend(config, { settings: { theme_advanced_buttons1 : 'bold,italic,|,justifyleft,justifycenter,justifyright,|,' + 'fontselect,fontsizeselect,|,forecolor,backcolor,|,link,unlink,image,|,bullist,numlist,|,code', theme_advanced_buttons2: null, theme_advanced_buttons3: null, theme_advanced_buttons4: null, theme_advanced_statusbar_location: null }, files_browser_window_url: false }); editor = new tinyMceWysiwygSetup( '{$this->getHtmlId()}', config ); editor.turnOn(); jQuery('#{$this->getHtmlId()}') .addClass('wysiwyg-editor') .data( 'wysiwygEditor', editor ); }); </script> HTML; } return $html; }
/** * Prepare form. * Adding editor field to render * * @return Form */ protected function _prepareForm() { /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(['data' => ['id' => 'wysiwyg_edit_form', 'action' => $this->getData('action'), 'method' => 'post']]); $config['document_base_url'] = $this->getData('store_media_url'); $config['store_id'] = $this->getData('store_id'); $config['add_variables'] = false; $config['add_widgets'] = false; $config['add_directives'] = true; $config['use_container'] = true; $config['container_class'] = 'hor-scroll'; $form->addField($this->getData('editor_element_id'), 'editor', ['name' => 'content', 'style' => 'width:725px;height:460px', 'required' => true, 'force_load' => true, 'config' => $this->_wysiwygConfig->getConfig($config)]); $this->setForm($form); return parent::_prepareForm(); }
/** * @return $this * * @throws \Magento\Framework\Exception\LocalizedException */ protected function _prepareForm() { $form = $this->formFactory->create(); $this->setForm($form); /** @var \Mirasvit\Blog\Model\Post $post */ $post = $this->registry->registry('current_model'); $fieldset = $form->addFieldset('edit_fieldset', ['class' => 'blog__post-fieldset']); if ($post->getId()) { $fieldset->addField('entity_id', 'hidden', ['name' => 'post[entity_id]', 'value' => $post->getId()]); } $fieldset->addField('name', 'text', ['label' => __('Title'), 'name' => 'post[name]', 'value' => $post->getName(), 'required' => true]); $editorConfig = $this->wysiwygConfig->getConfig(['tab_id' => $this->getTabId()]); $fieldset->addField('content', 'editor', ['name' => 'post[content]', 'value' => $post->getContent(), 'wysiwyg' => true, 'style' => 'height:35em', 'config' => $editorConfig]); $fieldset->addField('short_content', 'editor', ['label' => __('Excerpt'), 'name' => 'post[short_content]', 'value' => $post->getShortContent(), 'wysiwyg' => true, 'style' => 'height:5em', 'config' => $editorConfig]); return parent::_prepareForm(); }
/** * Prepare form * * @return $this */ protected function _prepareForm() { /** @var $model \Ves\Brand\Model\Brand */ $model = $this->_coreRegistry->registry('ves_brand'); /** * Checking if user have permission to save information */ if ($this->_isAllowedAction('Ves_Brand::brand_edit')) { $isElementDisabled = false; } else { $isElementDisabled = true; } /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(); $form->setHtmlIdPrefix('brand_'); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Brand Information')]); if ($model->getId()) { $fieldset->addField('brand_id', 'hidden', ['name' => 'brand_id']); } $fieldset->addField('name', 'text', ['name' => 'name', 'label' => __('Brand Name'), 'title' => __('Brand Name'), 'required' => true, 'disabled' => $isElementDisabled]); $fieldset->addField('url_key', 'text', ['name' => 'url_key', 'label' => __('URL Key'), 'title' => __('URL Key'), 'note' => __('Empty to auto create url key'), 'disabled' => $isElementDisabled]); $fieldset->addField('group_id', 'select', ['label' => __('Brand Group'), 'title' => __('Brand Group'), 'name' => 'group_id', 'options' => $this->_viewHelper->getGroupList(), 'disabled' => $isElementDisabled]); $fieldset->addField('image', 'image', ['name' => 'image', 'label' => __('Image'), 'title' => __('Image'), 'disabled' => $isElementDisabled]); $fieldset->addField('thumbnail', 'image', ['name' => 'thumbnail', 'label' => __('Thumbnail'), 'title' => __('Thumbnail'), 'disabled' => $isElementDisabled]); $wysiwygDescriptionConfig = $this->_wysiwygConfig->getConfig(['tab_id' => $this->getTabId()]); $fieldset->addField('description', 'editor', ['name' => 'description', 'style' => 'height:200px;', 'label' => __('Description'), 'title' => __('Description'), 'disabled' => $isElementDisabled, 'config' => $wysiwygDescriptionConfig]); /** * Check is single store mode */ if (!$this->_storeManager->isSingleStoreMode()) { $field = $fieldset->addField('store_id', 'multiselect', ['name' => 'stores[]', 'label' => __('Store View'), 'title' => __('Store View'), 'required' => true, 'values' => $this->_systemStore->getStoreValuesForForm(false, true), 'disabled' => $isElementDisabled]); $renderer = $this->getLayout()->createBlock('Magento\\Backend\\Block\\Store\\Switcher\\Form\\Renderer\\Fieldset\\Element'); $field->setRenderer($renderer); } else { $fieldset->addField('store_id', 'hidden', ['name' => 'stores[]', 'value' => $this->_storeManager->getStore(true)->getId()]); $model->setStoreId($this->_storeManager->getStore(true)->getId()); } $fieldset->addField('position', 'text', ['name' => 'position', 'label' => __('Position'), 'title' => __('Position'), 'disabled' => $isElementDisabled]); $fieldset->addField('status', 'select', ['label' => __('Status'), 'title' => __('Page Status'), 'name' => 'status', 'options' => $model->getAvailableStatuses(), 'disabled' => $isElementDisabled]); $form->setValues($model->getData()); $this->setForm($form); return parent::_prepareForm(); }
public function __construct(\Magento\Framework\Data\Form\Element\Factory $factoryElement, \Magento\Framework\Data\Form\Element\CollectionFactory $factoryCollection, Config $wysiwygConfig, Escaper $escaper, $data = []) { parent::__construct($factoryElement, $factoryCollection, $escaper, $data); $this->setType('textarea'); $this->setExtType('textarea'); $config = $wysiwygConfig->getConfig(); $config->setEncodeDirectives(false); $config->setNoDisplay(true); $config->setFilesBrowserWindowWidth(100); $this->setConfig($config); }
/** * Prepare form * * @return $this */ protected function _prepareForm() { $model = $this->_coreRegistry->registry('lists'); /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(['data' => ['id' => 'edit_form', 'action' => $this->getData('action'), 'method' => 'post']]); $form->setHtmlIdPrefix('block_'); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('General Information'), 'class' => 'fieldset-wide']); if ($model->getId()) { $fieldset->addField('id', 'hidden', ['name' => 'id']); } $fieldset->addField('title', 'text', ['name' => 'title', 'label' => __('Block Title'), 'title' => __('Block Title'), 'required' => true]); $fieldset->addField('status', 'select', ['label' => __('Status'), 'title' => __('Status'), 'name' => 'status', 'required' => true, 'options' => $this->_status->getOptionArray()]); if (!$model->getId()) { $model->setData('status', '1'); } $fieldset->addField('short_summary', 'editor', ['name' => 'short_summary', 'label' => __('Summary'), 'title' => __('Summary'), 'style' => 'height:36em', 'required' => true, 'config' => $this->_wysiwygConfig->getConfig()]); $form->setValues($model->getData()); $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 fields * * @return \Magento\Backend\Block\Widget\Form */ protected function _prepareForm() { $model = $this->_coreRegistry->registry('blog_blog'); /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(); $form->setHtmlIdPrefix('blog_'); $form->setFieldNameSuffix('blog'); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('General')]); if ($model->getId()) { $fieldset->addField('id', 'hidden', ['name' => 'id']); } $fieldset->addField('title', 'text', ['name' => 'title', 'label' => __('Title'), 'required' => true]); $fieldset->addField('status', 'select', ['name' => 'status', 'label' => __('Status'), 'options' => $this->_blogStatus->toOptionArray()]); $fieldset->addField('summary', 'textarea', ['name' => 'summary', 'label' => __('Summary'), 'required' => true, 'style' => 'height: 15em; width: 30em;']); $fieldset->addField('banner', 'image', array('name' => 'banner', 'label' => __('Image'), 'title' => __('Image'))); $wysiwygConfig = $this->_wysiwygConfig->getConfig(); $fieldset->addField('description', 'editor', ['name' => 'description', 'label' => __('Description'), 'required' => true, 'config' => $wysiwygConfig]); $data = $model->getData(); $form->setValues($data); $this->setForm($form); return parent::_prepareForm(); }
/** * Prepare form * * @return $this */ protected function _prepareForm() { /** @var $model \OsmanSorkar\Blog\Model\Post */ $model = $this->_coreRegistry->registry('blog_post'); /* * Checking if user have permissions to save information */ if ($this->_isAllowedAction('OsmanSorkar_Blog::save')) { $isElementDisabled = false; } else { $isElementDisabled = true; } /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(); $form->setHtmlIdPrefix('post_'); //$form->addType("post_photo",""); $fieldset = $form->addFieldset('content_fieldset', ['legend' => __('Content'), 'class' => 'fieldset-wide']); if ($model->getId()) { $fieldset->addField('post_id', 'hidden', ['name' => 'post_id']); } $wysiwygConfig = $this->_wysiwygConfig->getConfig(['tab_id' => $this->getTabId()]); $fieldset->addField('title', 'text', ['name' => 'title', 'label' => __('Post Title'), 'title' => __('Post Title'), 'disabled' => $isElementDisabled]); $fieldset->addField('url_key', 'text', ['name' => 'url_key', 'label' => __('Post Url'), 'title' => __('Post Url'), 'disabled' => $isElementDisabled]); $contentField = $fieldset->addField('content', 'editor', ['name' => 'content', 'style' => 'height:36em;', 'required' => true, 'disabled' => $isElementDisabled, 'config' => $wysiwygConfig]); $photo = $fieldset->addField('photo', '\\OsmanSorkar\\Blog\\Model\\Form\\Element\\Editor', ['name' => 'photo', 'label' => __('Post Photo'), 'title' => __('Post Photo'), 'disabled' => $isElementDisabled, 'config' => $wysiwygConfig]); $fieldset->addField('is_active', 'select', ['name' => 'is_active', 'label' => __('Post Show in Fontend'), 'title' => __('Post Show in Fontend'), 'options' => $model->getAvailableStatuses(), 'disabled' => $isElementDisabled]); /*// Setting custom renderer for content field to remove label column $renderer = $this->getLayout()->createBlock( 'Magento\Backend\Block\Widget\Form\Renderer\Fieldset\Element' )->setTemplate( 'OsmanSorkar_Blog::post/edit/form/renderer/photo.phtml' ); $photo->setRenderer($renderer);*/ // print_r(get_class($renderer)); $this->_eventManager->dispatch('adminhtml_blog_post_edit_tab_content_prepare_form', ['form' => $form]); $form->setValues($model->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(); }
/** * @covers \Magento\Cms\Model\Wysiwyg\Config::getConfig * @param array $data * @param boolean $isAuthorizationAllowed * @param array $expectedResults * * @dataProvider getConfigDataProvider */ public function testGetConfig($data, $isAuthorizationAllowed, $expectedResults) { $wysiwygPluginSettings = ['wysiwygPluginSettings' => 'wysiwyg is here']; $pluginSettings = ['pluginSettings' => 'plugins are here']; $this->backendUrlMock->expects($this->atLeastOnce())->method('getUrl')->withConsecutive(['cms/wysiwyg/directive'], ['cms/wysiwyg_images/index']); $this->assetRepoMock->expects($this->atLeastOnce())->method('getUrl')->withConsecutive(['mage/adminhtml/wysiwyg/tiny_mce/themes/advanced/skins/default/dialog.css'], ['mage/adminhtml/wysiwyg/tiny_mce/themes/advanced/skins/default/content.css']); $this->authorizationMock->expects($this->atLeastOnce())->method('isAllowed')->with('Magento_Cms::media_gallery')->willReturn($isAuthorizationAllowed); $this->variableConfigMock->expects($this->any())->method('getWysiwygPluginSettings')->willReturn($wysiwygPluginSettings); $this->widgetConfigMock->expects($this->any())->method('getPluginSettings')->willReturn($pluginSettings); $config = $this->wysiwygConfig->getConfig($data); $this->assertInstanceOf('Magento\\Framework\\Object', $config); $this->assertEquals($expectedResults[0], $config->getData('someData')); $this->assertEquals($expectedResults[1], $config->getData('wysiwygPluginSettings')); $this->assertEquals($expectedResults[2], $config->getData('pluginSettings')); }
/** * Prepare form * * @return $this * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ protected function _prepareForm() { /* @var $model \SR\Weblog\Model\BlogPosts */ $model = $this->_coreRegistry->registry('lists'); $isElementDisabled = false; /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(); //$form->setHtmlIdPrefix('page_'); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Information')]); if ($model->getId()) { $fieldset->addField('id', 'hidden', ['name' => 'id']); } $fieldset->addField('title', 'text', ['name' => 'title', 'label' => __('Title'), 'title' => __('Title'), 'required' => true, 'disabled' => $isElementDisabled, 'value' => 'abc']); if (!$model->getId()) { $model->setData('status', $isElementDisabled ? '0' : '1'); } $fieldset->addField('status', 'select', ['label' => __('Status'), 'title' => __('Status'), 'name' => 'status', 'required' => true, 'options' => $this->_status->getOptionArray(), 'disabled' => $isElementDisabled]); $fieldset->addField('short_summary', 'editor', ['name' => 'short_summary', 'label' => __('Summary'), 'title' => __('Summary'), 'style' => 'height:36em', 'required' => true, 'config' => $this->_wysiwygConfig->getConfig()]); $fieldset->addField('in_lists_grid', 'hidden', ['name' => 'in_lists_grid', 'id' => 'in_lists_gridz']); $fieldset->addField('in_lists_grid_old', 'hidden', ['name' => 'in_lists_grid_old']); $dateFormat = $this->_localeDate->getDateFormat(\IntlDateFormatter::SHORT); /* $fieldset->addField( 'created_at', 'date', [ 'name' => 'created_at', 'label' => __('Created Date'), 'date_format' => $dateFormat, 'disabled' => $isElementDisabled, 'class' => 'validate-date validate-date-range date-range-custom_theme-from' ] ); */ $form->setValues($model->getData()); $this->setForm($form); return parent::_prepareForm(); }
/** * Prepare form * * @return $this */ protected function _prepareForm() { /** @var \Mageplaza\Blog\Model\Post $post */ $post = $this->_coreRegistry->registry('mageplaza_blog_post'); $form = $this->_formFactory->create(); $form->setHtmlIdPrefix('post_'); $form->setFieldNameSuffix('post'); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Post Information'), 'class' => 'fieldset-wide']); $fieldset->addType('image', 'Mageplaza\\Blog\\Block\\Adminhtml\\Post\\Helper\\Image'); if ($post->getId()) { $fieldset->addField('post_id', 'hidden', ['name' => 'post_id']); } $fieldset->addField('name', 'text', ['name' => 'name', 'label' => __('Name'), 'title' => __('Name'), 'required' => true, 'note' => __('Post name')]); $fieldset->addField('short_description', 'textarea', ['name' => 'short_description', 'label' => __('Short Description'), 'title' => __('Short Description'), 'note' => __('Short Description')]); $fieldset->addField('post_content', 'editor', ['name' => 'post_content', 'label' => __('Content'), 'title' => __('Content'), 'note' => __('Post Content'), 'config' => $this->wysiwygConfig->getConfig()]); $fieldset->addField('image', 'image', ['name' => 'image', 'label' => __('Image'), 'title' => __('Image'), 'note' => __('Featured image')]); $fieldset->addField('enabled', 'select', ['name' => 'enabled', 'label' => __('Enabled'), 'title' => __('Enabled'), 'values' => $this->booleanOptions->toOptionArray()]); $fieldset->addField('url_key', 'text', ['name' => 'url_key', 'label' => __('URL Key'), 'title' => __('URL Key')]); $fieldset->addField('in_rss', 'select', ['name' => 'in_rss', 'label' => __('In RSS'), 'title' => __('In RSS'), 'values' => $this->booleanOptions->toOptionArray()]); $fieldset->addField('allow_comment', 'select', ['name' => 'allow_comment', 'label' => __('Allow Comment'), 'title' => __('Allow Comment'), 'values' => $this->booleanOptions->toOptionArray()]); $fieldset->addField('meta_title', 'text', ['name' => 'meta_title', 'label' => __('Meta Title'), 'title' => __('Meta Title')]); $fieldset->addField('meta_description', 'textarea', ['name' => 'meta_description', 'label' => __('Meta Description'), 'title' => __('Meta Description')]); $fieldset->addField('meta_keywords', 'textarea', ['name' => 'meta_keywords', 'label' => __('Meta Keywords'), 'title' => __('Meta Keywords')]); $fieldset->addField('meta_robots', 'select', ['name' => 'meta_robots', 'label' => __('Meta Robots'), 'title' => __('Meta Robots'), 'values' => array_merge(['' => ''], $this->metaRobotsOptions->toOptionArray())]); $postData = $this->_session->getData('mageplaza_blog_post_data', true); if ($postData) { $post->addData($postData); } else { if (!$post->getId()) { $post->addData($post->getDefaultValues()); } } $form->addValues($post->getData()); $this->setForm($form); return parent::_prepareForm(); }
/** * @covers \Magento\Cms\Model\Wysiwyg\Config::getConfig * @param array $data * @param boolean $isAuthorizationAllowed * @param array $expectedResults * * @dataProvider getConfigDataProvider */ public function testGetConfig($data, $isAuthorizationAllowed, $expectedResults) { $wysiwygPluginSettings = ['wysiwygPluginSettings' => 'wysiwyg is here']; $pluginSettings = ['pluginSettings' => 'plugins are here']; $this->backendUrlMock->expects($this->atLeastOnce())->method('getUrl')->withConsecutive(['cms/wysiwyg/directive'], ['cms/wysiwyg_images/index']); $this->backendUrlMock->expects($this->once())->method('getBaseUrl')->willReturn('localhost/index.php/'); $this->assetRepoMock->expects($this->atLeastOnce())->method('getUrl')->withConsecutive(['mage/adminhtml/wysiwyg/tiny_mce/themes/advanced/skins/default/dialog.css'], ['mage/adminhtml/wysiwyg/tiny_mce/themes/advanced/skins/default/content.css']); $this->filesystemMock->expects($this->once())->method('getUri')->willReturn('pub/static'); /** @var \Magento\Framework\View\Asset\ContextInterface|\PHPUnit_Framework_MockObject_MockObject $contextMock */ $contextMock = $this->getMock(\Magento\Framework\View\Asset\ContextInterface::class); $contextMock->expects($this->once())->method('getBaseUrl')->willReturn('localhost/pub/static/'); $this->assetRepoMock->expects($this->once())->method('getStaticViewFileContext')->willReturn($contextMock); $this->authorizationMock->expects($this->atLeastOnce())->method('isAllowed')->with('Magento_Cms::media_gallery')->willReturn($isAuthorizationAllowed); $this->variableConfigMock->expects($this->any())->method('getWysiwygPluginSettings')->willReturn($wysiwygPluginSettings); $this->widgetConfigMock->expects($this->any())->method('getPluginSettings')->willReturn($pluginSettings); $config = $this->wysiwygConfig->getConfig($data); $this->assertInstanceOf('Magento\\Framework\\DataObject', $config); $this->assertEquals($expectedResults[0], $config->getData('someData')); $this->assertEquals($expectedResults[1], $config->getData('wysiwygPluginSettings')); $this->assertEquals($expectedResults[2], $config->getData('pluginSettings')); $this->assertEquals('localhost/pub/static/', $config->getData('baseStaticUrl')); $this->assertEquals('localhost/pub/static/', $config->getData('baseStaticDefaultUrl')); }