protected function _prepareForm() { $form = new Varien_Data_Form(); $data = Mage::registry('kbase_article'); if (!is_array($data)) { $data = array(); } $fieldset = $form->addFieldset('general', array('legend' => $this->__('General information'), 'class' => 'fieldset-wide')); $fieldset->addField('article_date_created', 'hidden', array('name' => 'article_date_created')); $fieldset->addField('article_title', 'text', array('name' => 'article_title', 'label' => $this->__('Title'), 'required' => true)); if (AW_Kbase_Helper_Data::mageVersionIsAbove13()) { $config = Mage::getSingleton('cms/wysiwyg_config')->getConfig(); $config->setData(AW_Kbase_Helper_Data::recursiveReplace('/kbase_admin/', '/' . (string) Mage::app()->getConfig()->getNode('admin/routers/adminhtml/args/frontName') . '/', $config->getData())); } else { $config = false; } $fieldset->addField('article_text', 'editor', array('name' => 'article_text', 'label' => $this->__('Article'), 'style' => 'height:25em', 'required' => true, 'config' => $config)); $fieldset->addField('article_attachment', 'file', array('name' => 'article_attachment', 'label' => $this->__('Attachment'), 'class' => 'kbase')); $form->getElement('article_attachment')->setRenderer($this->getLayout()->createBlock('kbase/adminhtml_edit_uploader')); $fieldset->addField('article_tags', 'text', array('name' => 'article_tags', 'label' => $this->__('Tags'), 'note' => $this->__('Separate tags with commas'))); $fieldset->addField('article_url_key', 'text', array('name' => 'article_url_key', 'label' => $this->__('URL key'), 'note' => $this->__('URL key must be unique within store views'))); $fieldset->addField('article_status', 'select', array('name' => 'article_status', 'label' => $this->__('Status'), 'values' => AW_Kbase_Model_Source_Status::toOptionArray())); $fieldset->addField('article_author_id', 'select', array('name' => 'article_author_id', 'label' => $this->__('Author'), 'values' => AW_Kbase_Model_Source_User::toShortOptionArray())); $form->setValues($data); $this->setForm($form); return parent::_prepareForm(); }
public function getProccessedText($text) { $processorModelName = AW_Kbase_Helper_Data::mageVersionIsAbove13() ? 'widget/template_filter' : 'core/email_template_filter'; $processor = Mage::getModel($processorModelName); if ($processor instanceof Mage_Core_Model_Email_Template_Filter) { $text = $processor->filter($text); } return $text; }
protected function _toHtml() { $this->setRatingEnabled(Mage::getStoreConfig('kbase/general/rating_enabled')); // processing article text $processorModelName = AW_Kbase_Helper_Data::mageVersionIsAbove13() ? 'widget/template_filter' : 'core/email_template_filter'; $processor = Mage::getModel($processorModelName); if ($processor instanceof Mage_Core_Model_Email_Template_Filter) { $this->setProcessedText($processor->filter($this->getArticle()->getArticleText())); } else { $this->setProcessedText($this->getArticle()->getArticleText()); } return parent::_toHtml(); }
public function editAction() { $id = $this->getRequest()->getParam('id'); $data = Mage::getModel('kbase/article')->load($id)->getData(); $session = Mage::getSingleton('adminhtml/session'); if (isset($data['article_id']) || $id == 0) { $sessionData = $session->getKBaseArticleData(true); $session->setKBaseArticleData(false); if (is_array($sessionData)) { $data = array_merge($data, $sessionData); } // for compatibility with previous KB versions if (isset($data['article_url_key'])) { $data['article_url_key'] = urldecode($data['article_url_key']); } if (isset($data['article_tags']) && is_array($data['article_tags'])) { $data['article_tags'] = implode(', ', $data['article_tags']); } Mage::register('kbase_article', $data); $this->loadLayout(); $this->_setActiveMenu('kbase/article'); $this->getLayout()->getBlock('head')->setCanLoadExtJs(true); $this->_addContent($this->getLayout()->createBlock('kbase/adminhtml_article_edit'))->_addLeft($this->getLayout()->createBlock('kbase/adminhtml_article_edit_tabs')); if ($id === null) { $this->_displayTitle('Add new article'); } else { $this->_displayTitle($this->__('Edit article #%d', $id)); } if (AW_Kbase_Helper_Data::mageVersionIsAbove13()) { if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) { $this->getLayout()->getBlock('head')->setCanLoadTinyMce(true); } } $this->renderLayout(); } else { $session->addError($this->__('Article does not exist')); $this->_redirect('*/*/'); } }