První dojmy
- zool
- Člen | 144
Ahoj, včera ani nevím proč jsem si řekl, že se podívám co je nového v programovaní v PHP a čirou náhodou jsem narazil na Nette, velice a přijemně mě dostalo a už se s ním pomalu přátelím. Hodně se mi líbil serial od Pana Grudla, ale on píše same dobré články, tak mě to ani neudivilo;-).
Chtěl jsem se zeptat zda nějak nejde změnit koncovka šablon z phtml na tpl? Nikde jsem se o tom nedočetl, vím že je to detail, ale přesto mě to zajímá.
Díval jsem se i na třídu Image a chybí mi tam metoda na automatický středový maximální výrez, nebo by se hodila metoda, na zmenšení obrázku a dání automaticky už do čtvercového obrázku s určitou barvou pozadí, ale to je detail a dá se to velice jednoduše dopsat.
Editoval zool (26. 1. 2010 23:49)
- Michalek
- Člen | 211
.phtml
vypadá natvrdo ve zdrojácích, jednoduše asi změnit nepůjde (beru částečně zpět, viz níže).- https://forum.nette.org/…atur-v-nette
Editoval Michalek (27. 1. 2010 2:30)
- jasir
- Člen | 746
Jména a cesty šablon by mělo jít přepsáním metod formatTemplateFiles
resp. formatLayoutTemplateFiles
ve vlastním presenteru.
- Jan Tvrdík
- Nette guru | 2595
Vy jste nějací rychlí :) To protože já jsem psal i kus kódu.
public function formatLayoutTemplateFiles($presenter, $layout)
{
$list = parent::formatLayoutTemplateFiles($presenter, $layout);
return str_replace('.phtml', '.tpl', $list);
}
public function formatTemplateFiles($presenter, $view)
{
$list = parent::formatLayoutTemplateFiles($presenter, $view);
return str_replace('.phtml', '.tpl', $list);
}
- kravčo
- Člen | 721
Jan Tvrdík napsal(a):
Vy jste nějací rychlí :) To protože já jsem psal i kus kódu.
public function formatLayoutTemplateFiles($presenter, $layout) { $list = parent::formatLayoutTemplateFiles($presenter, $layout); return str_replace('.phtml', '.tpl', $list); } public function formatTemplateFiles($presenter, $view) { $list = parent::formatLayoutTemplateFiles($presenter, $view); return str_replace('.phtml', '.tpl', $list); }
Aby to nahradilo naozaj iba koncovky, bolo by lepšie nahradzovanie ukotviť na koniec reťazcov:
// namiesto
return str_replace('.phtml', '.tpl', $list);
// použiť
return preg_replace('/\.phtml$/', '.tpl', $list);