Beispiel #1
0
 /**
  * Formats component template files
  *
  * @param string
  * @return array
  */
 protected function formatTemplateFiles()
 {
     $list = parent::formatTemplateFiles();
     if ($this->variant) {
         $refl = $this->getReflection();
         $list = array_merge(array(dirname($refl->getFileName()) . '/' . $refl->getShortName() . '.' . $this->variant . '.latte'), $list);
     }
     $names = $this->getTemplateNames();
     $ret = array();
     $paths = array();
     foreach ($this->getPresenter()->formatTemplateFiles() as $file) {
         if (is_file($file)) {
             $paths[] = dirname($file);
             break;
         }
     }
     foreach ($this->getPresenter()->formatLayoutTemplateFiles() as $file) {
         if (is_file($file)) {
             $paths[] = dirname($file);
             break;
         }
     }
     foreach ($paths as $path) {
         if ($this->variant) {
             foreach ($names as $name) {
                 $ret[] = $path . '/' . $name . '.' . $this->variant . '.latte';
             }
         }
         foreach ($names as $name) {
             $ret[] = $path . '/' . $name . '.latte';
         }
     }
     foreach ($paths as $path) {
         if ($this->variant) {
             foreach ($names as $name) {
                 $ret[] = dirname($path) . '/' . $name . '.' . $this->variant . '.latte';
             }
         }
         foreach ($names as $name) {
             $ret[] = dirname($path) . '/' . $name . '.latte';
         }
     }
     $ret = array_merge($ret, $list);
     return $ret;
 }