/** * Wrap each element of a page that is being rendered, with a block-level HTML-element to highlight it in VDE * * Subscriber to event 'core_layout_render_element' * * @param Varien_Event_Observer $observer */ public function wrapPageElement(Varien_Event_Observer $observer) { if (!$this->_getSession()->isDesignEditorActive()) { return; } if (!$this->_wrappingRenderer) { $this->_wrappingRenderer = Mage::getModel('Mage_DesignEditor_Block_Template', array('template' => 'wrapping.phtml')); } $event = $observer->getEvent(); /** @var $layout Mage_Core_Model_Layout */ $layout = $event->getData('layout'); $elementName = $event->getData('element_name'); /** @var $transport Varien_Object */ $transport = $event->getData('transport'); $block = $layout->getBlock($elementName); $isVde = $block && 0 === strpos(get_class($block), 'Mage_DesignEditor_Block_'); $manipulationAllowed = $layout->isManipulationAllowed($elementName) && !$isVde; $isContainer = $layout->isContainer($elementName); if ($manipulationAllowed || $isContainer) { $elementId = 'vde_element_' . rtrim(strtr(base64_encode($elementName), '+/', '-_'), '='); $this->_wrappingRenderer->setData(array('element_id' => $elementId, 'element_title' => $layout->getElementProperty($elementName, 'label') ?: $elementName, 'element_html' => $transport->getData('output'), 'is_manipulation_allowed' => $manipulationAllowed, 'is_container' => $isContainer, 'element_name' => $elementName)); $transport->setData('output', $this->_wrappingRenderer->toHtml()); } /* Inject toolbar at the very beginning of the page */ if ($elementName == 'after_body_start') { $elementHtml = $transport->getData('output'); $toolbarHtml = $layout->renderElement('design_editor_toolbar'); $transport->setData('output', $toolbarHtml . $elementHtml); } }
public function manejandobloquesAction() { $block_1 = new Mage_Core_Block_Text(); $block_1->setText('Original Text'); $block_2 = new Mage_Core_Block_Text(); $block_2->setText('The second sentence.'); $main_block = new Mage_Core_Block_Template(); $main_block->setTemplate('nofrills/manejandobloques.phtml'); $main_block->setChild('the_first', $block_1); $main_block->setChild('the_second', $block_2); $block_1->setText('Wait , I want this text instead .'); echo $main_block->toHtml(); }
public function searchConfigAction() { if ($this->getRequest()->isPost()) { $result['error'] = 0; $query = $this->getRequest()->getPost('query'); if (!empty($query)) { $configs = Mage::app()->getConfig()->getNode($query); $items = array(); Magneto_Debug_Block_Config::xml2array($configs, $items, $query); $block = new Mage_Core_Block_Template(); //Is this the correct way? $block->setTemplate('debug/configsearch.phtml'); $block->assign('items', $items); echo $block->toHtml(); } else { $result['error'] = 1; $result['message'] = 'Search query cannot be empty.'; } } }
/** * Return last 100 lines of log file * * @return string */ public function viewLogAction() { $file = $this->getRequest()->getParam('file'); if (!empty($file)) { $result = Mage::helper('debug')->getLastRows(Mage::getBaseDir() . '/var/log/' . $file, 10); if (!is_array($result)) { $result = array($result); } $block = new Mage_Core_Block_Template(); //Is this the correct way? $block->setTemplate('debug/logdetails.phtml'); $block->assign('title', 'Log details : ' . $file); $block->assign('items', $result); echo $block->toHtml(); } }
/** * @covers Mage_Core_Block_Template::_toHtml * @covers Mage_Core_Block_Abstract::toHtml * @see testAssign() */ public function testToHtml() { $this->assertEmpty($this->_block->toHtml()); $this->_block->setTemplate(uniqid('invalid_filename.phtml')); $this->assertEmpty($this->_block->toHtml()); }