/** * adminhtml_block_html_before * * @param Varien_Event_Observer $observer * * @return null */ public function alterTextareaBlockTemplate(Varien_Event_Observer $observer) { $this->_helper = Mage::helper('markdown'); if ($this->_helper->isDisabled() || $this->_helper->isParserOnly()) { return NULL; } /** @var $block Mage_Adminhtml_Block_Template */ $block = $observer->getEvent()->getBlock(); $isWidgetElement = $block instanceof Mage_Adminhtml_Block_Widget_Form_Renderer_Fieldset_Element; $isCatalogElement = $block instanceof Mage_Adminhtml_Block_Catalog_Form_Renderer_Fieldset_Element; /** * main reason for this layout handle thing is to avoid loading of lot of unused JS/CSS ... */ $isLayoutHandleAllowed = Mage::getSingleton('markdown/observer_adminhtml_layoutUpdate')->isAllowed(); if ($isWidgetElement || $isCatalogElement) { /** @var Varien_Data_Form_Element_Abstract _currentElement */ $this->_currentElement = $block->getElement(); $_isElementEditor = $this->_isElementEditor(); $_isCatalogElementAllowed = $this->_isCatalogElementAllowed(); $_isEmailTemplateElementAllowed = $this->_isEmailTemplateElementAllowed(); if ($_isElementEditor || $_isCatalogElementAllowed || $_isEmailTemplateElementAllowed) { $this->_tryToGetPreviewUrl($block); $method = $isLayoutHandleAllowed ? '_integrate' : '_addMarkdownHint'; $this->{$method}(); } } }