Exemple #1
0
 protected function setUp()
 {
     $this->_layout = Mage::getModel('Mage_Core_Model_Layout', array('area' => 'adminhtml'));
     $this->_layout->getUpdate()->load('layout_test_grid_handle');
     $this->_layout->generateXml();
     $this->_layout->generateElements();
     $this->_block = $this->_layout->getBlock('admin.test.grid.massaction');
 }
 protected function setUp()
 {
     /** @var $themeUtility Mage_Core_Utility_Theme */
     $themeUtility = Mage::getModel('Mage_Core_Utility_Theme', array(dirname(__FILE__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'design', Mage::getDesign()));
     $themeUtility->registerThemes()->setDesignTheme('test/default', 'frontend');
     /* Disable loading and saving layout cache */
     Mage::app()->getCacheInstance()->banUse('layout');
     $this->_layout = Mage::getModel('Mage_Core_Model_Layout');
     $this->_layout->getUpdate()->addHandle('layout_test_handle_main');
     $this->_layout->getUpdate()->load('layout_test_handle_extra');
 }
 /**
  * Get block
  *
  * @param string $blockName
  * @return Mage_Core_Block_Abstract
  */
 public function getBlock($blockName)
 {
     /** @var $layout Mage_Core_Model_Layouts */
     $this->_prepareLayout();
     $this->_layout->getUpdate()->load($this->_getHandles());
     $this->_layout->generateXml()->generateBlocks();
     $block = $this->_layout->getBlock($blockName);
     $this->unsetLayout();
     return $block;
 }
 public function testLayoutObjectArgumentUpdatersDirective()
 {
     $layout = new Mage_Core_Model_Layout();
     $layout->getUpdate()->load(array('layout_test_handle_arguments_object_type_updaters'));
     $layout->generateXml()->generateElements();
     $expectedObjectData = array(0 => 'updater call', 1 => 'updater call', 2 => 'updater call');
     $expectedSimpleData = 2;
     $block = $layout->getBlock('block_with_object_updater_args')->getOne();
     $this->assertInstanceOf('Mage_Core_Block_Text', $block);
     $this->assertEquals($expectedObjectData, $block->getUpdaterCall());
     $this->assertEquals($expectedSimpleData, $layout->getBlock('block_with_object_updater_args')->getTwo());
 }
 protected function _generateBlockLayoutXML($blockName)
 {
     if (self::$_layoutXml == null) {
         self::$_layoutXml = Mage::app()->getLayout()->getUpdate()->asSimplexml();
     }
     $sections = self::$_layoutXml->xpath("//block[@name='{$blockName}'] | //reference[@name='{$blockName}']");
     $layoutXml = '';
     foreach ($sections as $section) {
         $layoutXml .= $this->_generateSubBlockLayoutXml($section);
     }
     $layout = new Mage_Core_Model_Layout();
     $layout->getUpdate()->addUpdate($layoutXml);
     $layout->generateXml();
     $layoutXml = $layout->getXmlString();
     return $layoutXml;
 }
Exemple #6
0
 public function testGetUpdate()
 {
     $this->assertInstanceOf('Mage_Core_Model_Layout_Update', $this->_layout->getUpdate());
 }
Exemple #7
0
 /**
  * @expectedException Magento_Exception
  */
 public function testGenerateElementsBroken()
 {
     $layout = new Mage_Core_Model_Layout();
     $layout->getUpdate()->load('layout_test_handle_remove_broken');
     $layout->generateXml()->generateElements();
 }
 protected function setUp()
 {
     $this->_layout = new Mage_Core_Model_Layout();
     $this->_layout->getUpdate()->addHandle('layout_test_handle_main');
     $this->_layout->getUpdate()->load('layout_test_handle_extra');
 }
Exemple #9
0
 /**
  * @param string $blockType
  * @param Mage_Core_Model_Layout $layout
  * @return bool
  */
 protected function _hasBlockInXml($blockType, $layout)
 {
     /* @var $xml Mage_Core_Model_Layout_Element */
     $xml = $layout->getUpdate()->asSimplexml();
     return $blocks = $xml->xpath("//block[@type='{$blockType}']");
 }
Exemple #10
0
 public function addAssets(Mage_Core_Model_Layout $layout)
 {
     $head = $layout->getBlock('head');
     $content = $layout->getBlock('content');
     if ($head && $content) {
         $head->addCss('webforms/form.css');
         $head->addJs('prototype/window.js');
         $head->addItem('js_css', 'prototype/windows/themes/default.css');
         $head->addItem('js_css', 'prototype/windows/themes/alphacube.css');
         // logic
         $head->addJs('webforms/logic.js');
         // stars
         $head->addJs('webforms/stars.js');
         $head->addCss('webforms/stars.css');
         // tooltips
         $head->addJs('webforms/HelpBalloon.js');
         $head->addCss('webforms/helpballoon.css');
         // wysiwyg
         $head->addJs('tiny_mce/tiny_mce.js');
         // calendar
         $head->addJs('calendar/calendar.js');
         $head->addJs('calendar/calendar-setup.js');
         $head->addItem('js_css', 'calendar/calendar-blue.css');
         // ajax file uploader
         if (Mage::getStoreConfig('webforms/files/ajax')) {
             if (Mage::getStoreConfig('webforms/files/load_jquery')) {
                 $head->addJs('webforms/jQuery/jquery-1.7.1.min.js');
                 $head->addJs('webforms/jQuery/no-conflict.js');
             }
             $head->addJs('webforms/blueimp/js/vendor/jquery.ui.widget.js');
             $head->addJs('webforms/blueimp/js/jquery.iframe-transport.js');
             $head->addJs('webforms/blueimp/js/jquery.fileupload.js');
             $head->addCss('webforms/file-upload.css');
         }
     }
     if (in_array('cms_page', $layout->getUpdate()->getHandles()) || in_array('webforms_index_index', $layout->getUpdate()->getHandles())) {
         if (!$this->isProduction()) {
             Mage::getSingleton('core/session')->addError($this->getNote());
         }
     }
     // add custom assets
     Mage::dispatchEvent('webforms_add_assets', array('layout' => $layout));
     return $this;
 }
 public function updateLayoutHandles()
 {
     foreach ($this->layoutHandles as $layoutHandle) {
         $this->layout->getUpdate()->addHandle($layoutHandle);
     }
 }
Exemple #12
0
 /**
  * Add a custom layout update.
  * 
  * @param Mage_Core_Model_Layout $layout The current layout instance.
  * @param string                 $xml    The layout update XML.
  *
  * @return void
  */
 protected function _addUpdate(Mage_Core_Model_Layout $layout, $xml)
 {
     $update = simplexml_load_string('<update_xml>' . $xml . '</update_xml>', $layout->getUpdate()->getElementClass());
     $layout->getUpdate()->addUpdate($xml);
 }