Symplinky pro stejné projekty
- MzK
- Člen | 127
Mám několik stejných projektů, které se liší jen šablonou a adresářem www (a samozřejmě připojením k db).
Abych nemusel každou změnu nahrávat do každé domény, tak mám
symlinkové odkazy..
/var/www/domena.tld/ (zde je www, temp,) a libs a app taham z
/var/www/final/.
Problém je v tom, že symlink mám jen na /app/models/ a /app/presenters/.
Templates mám normálně (je pro každý projekt jiné.
No a samozřejmě to nefunguje bez úprav nette libs.
šablony to totiž hledá místo v /var/www/domena.tld/app/templates v
/var/www/final/app/templates.
Musel jsem změnit:
<?php
//loader.php
//define('NETTE_DIR', LIBS_DIR.'/Nette/');
define('NETTE_DIR', dirname(__FILE__));
//presenter.php
public function formatLayoutTemplateFiles() {
…
//$dir = dirname(dirname($this->getReflection()->getFileName()));
$dir = APP_DIR;
…}
public function formatTemplateFiles() {
//$dir = dirname(dirname($this->getReflection()->getFileName()));
$dir = APP_DIR;
}
?>
Jak se toto řeší v praxi? Třeba když když chci hromadně upravit nějaký model nebo presenter, který je všude stejný..
Editoval MzK (29. 11. 2011 11:52)
- jansfabik
- Člen | 193
btw. nejsou to symplinky, ale symlinky
No a samozřejmě to nefunguje bez úprav nette libs.
Ale funguje, nastuduj si dědičnost. Vytvoř si třídu BasePresenter a do ní dej ty upravené metody.
Jak se toto řeší v praxi? Třeba když když chci hromadně upravit nějaký model nebo presenter, který je všude stejný..
Nejčistší je to asi přes Git a submoduly. Ale na hodně jednoduchý projekty asi postačí i ty symlinky.