예제 #1
0
 /**
  * @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;
 }
예제 #2
0
 /**
  * @expectedException Mage_Core_Exception
  */
 public function testSetDesignThemeException()
 {
     $this->_model->setDesignTheme('test/test');
 }
예제 #3
0
 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');
 }
예제 #4
0
파일: Action.php 프로젝트: relue/magento2
 /**
  * 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;
 }
예제 #5
0
 /**
  * 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;
 }
예제 #6
0
 protected function setUp()
 {
     $this->_model = new Mage_Core_Model_Design_Package();
     $this->_model->setDesignTheme('test/default/default', 'frontend');
 }
예제 #7
0
 public function testSetDesignTheme()
 {
     $this->_model->setDesignTheme('test/test', 'test');
     $this->assertEquals('test', $this->_model->getArea());
     $this->assertEquals(null, $this->_model->getDesignTheme()->getThemePath());
 }