Example #1
1
 protected function _prepareForm()
 {
     $form = new Varien_Data_Form(array('id' => 'edit_form', 'action' => $this->getData('action'), 'method' => 'post'));
     $form->setHtmlIdPrefix("template");
     $form->setFieldNameSuffix("template");
     /* @var $template Mzax_Emarketing_Model_Template */
     $template = Mage::registry('current_template');
     if ($template->getId()) {
         $form->addField('template_id', 'hidden', array('name' => 'template_id', 'value' => $template->getId()));
     }
     $fieldset = $form->addFieldset('base_fieldset', array('legend' => $this->__('Template Option'), 'class' => 'fieldset-wide'))->addType('editor', Mage::getConfig()->getModelClassName('mzax_emarketing/form_element_templateEditor'))->addType('credits', Mage::getConfig()->getModelClassName('mzax_emarketing/form_element_credits'));
     $fieldset->addField('credits', 'credits', array('name' => 'credits', 'required' => true));
     $fieldset->addField('name', 'text', array('name' => 'name', 'required' => true, 'label' => $this->__('Template Name'), 'title' => $this->__('Template Name')));
     $fieldset->addField('description', 'textarea', array('name' => 'description', 'required' => true, 'label' => $this->__('Description'), 'title' => $this->__('Description'), 'style' => 'height:4em;', 'note' => "For internal use only"));
     $snippets = new Mzax_Emarketing_Model_Medium_Email_Snippets();
     Mage::getSingleton('mzax_emarketing/medium_email')->prepareSnippets($snippets);
     $editorConfig = new Varien_Object();
     $editorConfig->setFilesBrowserWindowUrl($this->getUrl('adminhtml/cms_wysiwyg_images/index'));
     $editorConfig->setWidgetWindowUrl($this->getUrl('adminhtml/widget/index'));
     $editorConfig->setSnippets($snippets);
     $editor = $fieldset->addField('body', 'editor', array('name' => 'body', 'required' => true, 'label' => $this->__('Template HTML'), 'title' => $this->__('Template HTML'), 'logo' => $this->getSkinUrl('images/logo.gif'), 'fullscreen_title' => $this->__('Template %s', $template->getName()), 'style' => 'height:50em;', 'value' => '', 'config' => $editorConfig));
     // Setting custom renderer for content field to remove label column
     $renderer = $this->getLayout()->createBlock('adminhtml/widget_form_renderer_fieldset_element')->setTemplate('cms/page/edit/form/renderer/content.phtml');
     $editor->setRenderer($renderer);
     $form->addValues($template->getData());
     $this->setForm($form);
     $form->setUseContainer(true);
     return parent::_prepareForm();
 }
Example #2
0
 /**
  * Prepare form before rendering HTML
  *
  * @return Mage_Adminhtml_Block_Widget_Form
  */
 protected function _prepareForm()
 {
     $form = $this->getForm();
     $campaign = $this->getCampaign();
     $content = $this->getContent();
     $data = $content->getMediumData();
     $fieldset = $form->addFieldset('email_fieldset', array('legend' => $this->__('Email'), 'class' => 'fieldset-wide'));
     $fieldset->addType('editor', Mage::getConfig()->getModelClassName('mzax_emarketing/form_element_emailEditor'));
     $templateOptions = $this->getTemplateOptions();
     /* Stop if no template exist */
     if (count($templateOptions) === 1) {
         $fieldset->addField('template_note', 'note', array('label' => $this->__('Template'), 'class' => 'mzax-template-select', 'text' => $this->__("Before you can create an email campaign, you need to setup at least one email template."), 'after_element_html' => $this->__(' <a href="%s" target="_blank">Edit Templates</a>', $this->getUrl('*/admin_template'))));
         return;
     }
     $fieldset->addField('designmode', 'select', array('label' => $this->__('Design Mode'), 'note' => $this->__("If design mode is disabled the WYSIWYG editor will be disabled and will not mess with your html code."), 'name' => 'designmode', 'options' => array('1' => $this->__('Enabled'), '0' => $this->__('Disabled')), 'value' => '1'));
     $template = $fieldset->addField('template_id', 'select', array('name' => 'template_id', 'required' => true, 'label' => $this->__('Template'), 'title' => $this->__('Template'), 'values' => $templateOptions, 'class' => 'mzax-template-select', 'note' => $this->__("A template is required for sending out emails"), 'after_element_html' => $this->__(' <a href="%s" target="_blank">Edit Templates</a>', $this->getUrl('*/admin_template'))));
     $subject = $fieldset->addField('subject', 'text', array('name' => 'subject', 'required' => true, 'label' => $this->__('Email Subject'), 'title' => $this->__('Email Subject')));
     $urlParams = array('id' => $campaign->getId());
     if ($content instanceof Mzax_Emarketing_Model_Campaign_Variation) {
         $contentName = $content->getName();
         $urlParams['variation'] = $content->getId();
     } else {
         $contentName = $this->__('Original');
     }
     $quickSaveUrl = $this->getUrl('*/*/quicksave', $urlParams);
     $previewUrl = $this->getUrl('*/*/preview', $urlParams);
     $editorConfig = new Varien_Object();
     $editorConfig->setTranslator($this);
     $editorConfig->setFilesBrowserWindowUrl($this->getUrl('adminhtml/cms_wysiwyg_images/index'));
     $editorConfig->setWidgetWindowUrl($this->getUrl('adminhtml/widget/index'));
     $editorConfig->setTemplateLoadUrl($this->getUrl('*/*/templateHtml'));
     $editorConfig->setQuicksaveUrl($quickSaveUrl);
     $editorConfig->setQuicksaveFields(array($subject, $template));
     $editorConfig->setTemplateField($template);
     $editorConfig->setEnableCkeditor($data->getDataSetDefault('designmode', 1));
     if ($campaign->getId()) {
         $editorConfig->setButtons(array(array('title' => $this->__('Quick Save'), 'onclick' => "{editor}.quicksave(); return false;", 'class' => 'mzax-quicksave', 'style' => 'margin-left: 20px; float: right;'), array('title' => $this->__('Preview'), 'onclick' => "popWin('{$previewUrl}', '_blank', 'width=800,height=700,resizable=1,scrollbars=1'); return false;", 'class' => '', 'style' => 'margin-left: 10px; float: right;')));
     }
     $editorConfig->setSnippets($campaign->getSnippets());
     $editor = $fieldset->addField('body', 'editor', array('name' => 'body', 'label' => $this->__('Email Body'), 'title' => $this->__('Email Body'), 'style' => 'height:36em', 'required' => true, 'logo' => $this->getSkinUrl('images/logo.gif'), 'fullscreen_title' => $this->__('Email Campaign %s / %s', $campaign->getName(), $contentName), 'config' => $editorConfig, 'template' => Mage::getModel('mzax_emarketing/template')->load($data->getTemplateId())));
     // Setting custom renderer for content field to remove label column
     $renderer = $this->getLayout()->createBlock('adminhtml/widget_form_renderer_fieldset_element')->setTemplate('cms/page/edit/form/renderer/content.phtml');
     $editor->setRenderer($renderer);
     $fieldset = $form->addFieldset('email_delay', array('legend' => $this->__('Only send out emails at certain times'), 'class' => 'fieldset-wide mzax-checkboxes'));
     $fieldset->addType('info', Mage::getConfig()->getModelClassName('mzax_emarketing/form_element_info'));
     $hourOptions = array();
     for ($i = 0; $i < 24; $i++) {
         $hourOptions[$i] = $this->__("%'.02d:00h", $i);
     }
     $fieldset->addField('info', 'info', array('text' => $this->__('Keep in mind that this option can significantly delay an email from getting send out. Depending on your campaign this may not be a problem, but sometimes it can. You may want to double check the expire time under "Settings" and make sure it is high enough.')))->setRenderer($renderer);
     $fieldset->addField('day_filter', 'checkboxes', array('name' => 'day_filter[]', 'label' => $this->__('Send only on selected weekdays'), 'values' => Mage::app()->getLocale()->getOptionWeekdays(), 'note' => $this->__("If nothing select, this filter is disabled.")));
     $fieldset->addField('time_filter', 'checkboxes', array('name' => 'time_filter[]', 'label' => $this->__('Send only at selected hours'), 'options' => $hourOptions, 'note' => $this->__("If nothing select, this filter is disabled.")));
     /*
     
             $fieldset = $form->addFieldset('email_advanced', array(
                 'legend' => $this->__('Advanced Options'),
                 'class'  => 'fieldset-wide',
             ));
     $fieldset->addField('prerender', 'select', array(
                 'label'     => $this->__('Pre-Render'),
                 'note'      => $this->__("If enabled, email will get pre rendered, cached and then only the basic {{var}} expressions will get parsed. If your content is static or only uses var expressions. Enabling this can increase the render performance by a factor of 10."),
                 'name'      => 'prerender',
                 'options'   => array(
                     '0' => $this->__('Disabled'),
                     '1' => $this->__('Enabled'),
                 ),
                 'value' => '0'
             ));
     
             if($campaign === $content) {
                 $subject = $fieldset->addField('forward_emails', 'text', array(
                     'name'      => 'forward_emails',
                     'label'     => $this->__('Forward Email'),
                     'note'      => $this->__("All non-auto email replies will get forward to this email address."),
                 ));
             }
     */
     $form->addValues($data->getData());
     return $this;
 }