/**
  * 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;
 }