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