/** * @param string $themePath * @param null $area * @return Mage_Core_Utility_Theme */ public function setDesignTheme($themePath, $area = null) { if (empty($area)) { $area = $this->_design->getArea(); } $theme = $this->getThemeByParams($themePath, $area); $this->_design->setDesignTheme($theme, $area); return $this; }
/** * @expectedException Mage_Core_Exception */ public function testSetDesignThemeException() { $this->_model->setDesignTheme('test/test'); }
protected function setUp() { Mage::app()->getConfig()->getOptions()->setDesignDir(dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'design'); $this->_model = new Mage_Core_Model_Design_Package(); $this->_model->setDesignTheme('package/default/theme', 'frontend'); }
/** * Analyze user-agent information to override custom design settings * * @param Mage_Core_Model_Design_Package $design * @return bool */ protected function _applyUserAgentDesignException(Mage_Core_Model_Design_Package $design) { if (empty($_SERVER['HTTP_USER_AGENT'])) { return false; } try { $expressions = Mage::getStoreConfig('design/theme/ua_regexp'); if (!$expressions) { return false; } $expressions = unserialize($expressions); foreach ($expressions as $rule) { if (preg_match($rule['regexp'], $_SERVER['HTTP_USER_AGENT'])) { $design->setDesignTheme($rule['value']); return true; } } } catch (Exception $e) { Mage::logException($e); } return false; }
/** * Apply design change from self data into specified design package instance * * @param Mage_Core_Model_Design_Package $packageInto * @return Mage_Core_Model_Design */ public function changeDesign(Mage_Core_Model_Design_Package $packageInto) { if ($this->getDesign()) { $packageInto->setDesignTheme($this->getDesign()); } return $this; }
protected function setUp() { $this->_model = new Mage_Core_Model_Design_Package(); $this->_model->setDesignTheme('test/default/default', 'frontend'); }
public function testSetDesignTheme() { $this->_model->setDesignTheme('test/test', 'test'); $this->assertEquals('test', $this->_model->getArea()); $this->assertEquals(null, $this->_model->getDesignTheme()->getThemePath()); }