/** * Gets the decorator directories. * * @param string The template file * * @return array An array of the decorator directories * */ public function getDecoratorDirs() { // if there is a configuration dimension if ($this->hasDimension()) { $cacheKey = 'sf_decorator_dirs'; // if there is a cache return it if ($this->dimension->getCache()->has($cacheKey)) { $dirs = $this->dimension->getCache()->get($cacheKey); } else { $dirs = array(); $dimensions = $this->dimension->getCascade(); $dir = sfConfig::get('sf_app_template_dir'); foreach ($dimensions as $dimension) { if (is_readable($dir . '/' . $dimension)) { array_push($dirs, $dir . '/' . $dimension); } } array_push($dirs, $dir); // save cache $this->dimension->getCache()->set($cacheKey, $dirs); } } else { $dirs = parent::getDecoratorDirs(); } return $dirs; }
/** * Gets the decorator directories. * * @return array An array of the decorator directories */ public function getDecoratorDirs() { $dirs = array(); $dirs = array_merge($dirs, $this->globEnablePlugin('/apps/' . sfConfig::get('sf_app') . '/templates')); $dirs = array_merge($dirs, parent::getDecoratorDirs()); return $dirs; }