Statické stranky jak na ne?
- h4kuna
- Backer | 740
Ahoj prosim potreboval bych pomoct, jak nejlepe navrhnout vytvareni, editaci, mazani a spravne prirazeni adresy (url) pro staticke stranky, neco jako tady na Nette wiki.
- stranka je nekde v db
- po prihlaseni je editabilni (zatim neni podstatne)
- do budoucna nevim jak se budou jmenovat tzn neznam url a vse s tim spojene (presenter, sablony…)
- nechci aby se mi vytvareli prazdne presentery
koncepce
- trida (model) spravujici zjisteni zda stranka existuje, vytazeni z db, jeji vykresleni, pripadne ukladat do cache k tomu nejspise jedna sablona kam se vykresli obsah db + drobne kosmeticke (html) upravy
Moje napady
- pres router to predat sprevnemu presenteru, ale to zase v url budu muset mit nejaky ‚priznak‘
- doufal jsem ze nez to spadne do error presenteru ze to odchytim, avsak to mi prislo proti srsti
Jinak jak to resit?
Editoval matata (25. 2. 2010 19:49)
- Panda
- Člen | 569
Ta konstrukce s tím Route::addStyle(...)
atd. je kvůli
možnosti mít speciální znaky v URI, například /
, případně
diakritiku. Pokud to nepotřebuješ, můžeš tu routu předefinovat prostě a
jednoduše takto:
A teď se tu podivnou konstrukci pokusím vysvětlit…
Vytvoří nový „styl“ parametru s názevm #pageUri
– to
nám umožní definovat vlastní funkce pro filtraci parametru v URL,
respektive nedefinovat žádné. Normálně se na parametry v routách
aplikují filtry, které neumožňují používat výše zmíněné speciální
znaky. NULL
jako druhý argument říká, že styl nemá dědit
vlastnosti od žádného jiného stylu a tím pádem nepřebírat ani žádné
další filtry.
Nastaví samotný regulární výraz pro styl parametru, který matchne vše.
Když jsem si s tím kdysi hrál, tak mi ke správné funkci pomohlo udělat
výraz ungreedy, proto .+?
.
A to je samotná routa, kde parametr uri
používá
nadefinovaný styl #pageUri
.
Je to už nějaký čas, co jsem toto řešení použil, tak je možné, že si řešení moc nerozumí s aktuálním Nette (čti: s Nette mladším než půl roku).