Vlastná Štruktúra Nette Templates

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
SontoEremo
Člen | 341
+
0
-

Zdravím,
Chcem sa opýtať, či riešil niekto z Vás takúto štruktúru
Mám v App\Module\HomeModule\Templates\default\…
Ako mám naznačiť nette aby Nehľadalo v zložke templates ale v zložke templates\nieco\…

Chcem dosiahnuť toho, že budem mať v templates viac šablón teda
templates\default\…
templates\bluecamel\…
templates\redhell\…

David Matějka
Moderator | 6445
+
+1
-

Staci v base presenteru prekryt metody formatLayoutTemplateFiles a formatTemplateFiles a pozmenit tak defaultni implementaci

SontoEremo
Člen | 341
+
0
-

Nazdar @DavidMatějka
Takže stačí skopírovať formatLayoutTemplateFiles a formatTemplateFiles vložiť do BasePresenter?
BasePresenter.php

abstract class BasePresenter extends Presenter {
	/**
	 * Formats layout template file names.
	 * @return array
	 */
	public function formatLayoutTemplateFiles()
	{
		$name = $this->getName();
		$presenter = substr($name, strrpos(':' . $name, ':'));
		$layout = $this->layout ? $this->layout : 'layout';
		$dir = dirname($this->getReflection()->getFileName());
		$dir = is_dir("$dir/templates") ? $dir : dirname($dir);
		$list = array(
			"$dir/templates/$presenter/@$layout.latte",
			"$dir/templates/$presenter.@$layout.latte",
		);
		do {
			$list[] = "$dir/templates/@$layout.latte";
			$dir = dirname($dir);
		} while ($dir && ($name = substr($name, 0, strrpos($name, ':'))));
		return $list;
	}


	/**
	 * Formats view template file names.
	 * @return array
	 */
	public function formatTemplateFiles()
	{
		$name = $this->getName();
		$presenter = substr($name, strrpos(':' . $name, ':'));
		$dir = dirname($this->getReflection()->getFileName());
		$dir = is_dir("$dir/templates") ? $dir : dirname($dir);
		return array(
			"$dir/templates/$presenter/$this->view.latte",
			"$dir/templates/$presenter.$this->view.latte",
		);
	}
}

A tam už vykonať potrebné kroky?

SontoEremo
Člen | 341
+
0
-

Ako ale zistiť názov zložky?