Zmena template diru aplikácie

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

Kde sa dá zmeniť template dir? :)

Peter9
Člen | 69
+
0
-

z toho sú mi jasné 2 veci:

  1. Ako sa volá funkcia
  2. Na čo asi slúži

Nejak z konfigu by to nešlo? Som len strašne lenivý…

jasir
Člen | 746
+
0
-

Dostal jsi jasnou a přesnou odpověď – podědit si a upravit odkazované metody ve svém BasePresenteru. Pokud jsi nevěděl, jak s tím naložit, možná by neškodilo trochu popřemýšlet
a prohledat fórum.

Peter9
Člen | 69
+
0
-

J. ale je v konfigu i premenná %templateDir% ni?

Ok, ok. Idem to spraviť…

Peter9
Člen | 69
+
0
-

https://forum.nette.org/…ura-a-moduly

Takže ide o pohrobkové premenné…
Takže sa nebudem spoliehať na dokumentáciu…
Takže si nejakú sám napíšem…

Editoval Peter9 (15. 2. 2011 1:39)

Peter9
Člen | 69
+
0
-

Mám taký problém:
mám v DB tabuľku s konfiguráciou, v ktorej je uložená konf. hodnota. A ak používam formatTemplateFiles v BasePresenteri, bude treba nejaký model aby som to mohol sosať z DB (tak, aby som ostal pri MVC(P)) – ako Nette loaduje Modely? [Proste nemôžem vložiť dibi::query do BasePresentera]…

jasir
Člen | 746
+
0
-
function formatTemplateFiles() {
	$paths = parent::formatTemplateFiles()
	$infos= MujModel::getInfos();

	foreach($infos as $something) {
		//do bad stuff with $paths
	}

	return $paths;
}

Nette neříká jak máš zacházet s modelem (zatím)

Peter9
Člen | 69
+
0
-

NO okay. Loader to zožerie (zistí správnu cestu)? Ale mám moduly v ktorých sú lokálne modely a mám aj globálne modely. (pričom ide o rozličné podpriečinky)…

Chbox
Člen | 125
+
0
-

… hledej na fóru – už to psal Jasir, je tady toho tuny a v BasePresenteru v rámci MVP dibi:: nemá co dělat, patří do modelu. O nahrávání modelu se stará RobotLoader, pokud máš model tam, kam RobotLoader vidí.

Peter9
Člen | 69
+
0
-

Model je v app dire. (je to globálny model, ku ktorému majú možnosť pristupovať iné modely/moduly).

Už tomu nejak začínam prichádzať na kobylku…

Editoval Peter9 (15. 2. 2011 9:58)

Peter9
Člen | 69
+
0
-

Yes! I've done it!

public function formatTemplateFiles($presenter, $view)
{
         $stylesDir = Nette\Environment::getVariable('wwwDir') . "/public/styles";
             $style = GlobalModel::getStyle();
              $path = "$stylesDir/$style/templates";
              $path .= '/' . str_replace(':', 'Module/', $presenter);

         return array("$path/$view.latte",
                      "$path/$view.phtml");
}