Vypsání hodnot vrácených SP procedurou a použití redirectu
- karlik26
- Člen | 1
Ahoj, probírám se Nette a potřeboval bych zodpovědět tyto otázky:
1. Mám SP proceduru na MYsql, která vrací data ve formátu u tabulky. Jak mohu tato data přiřadit šabloně, abych je mohl vypsat?
2. Mám tabulku a musím vyřešit řazení vzestupně-sestupně dle daných sloupců, společně se zachováním stránkování (jsem na 2 stránce z deseti a změním řazení tabulky, tak abych stále zůstal na 2 stránce z 10 ale s se změněným pořadím ve sloupci). Pokud by existoval jednoduchý příklad bylo by to super. (Hlavně mi jde o to, jak předávat parametry)
3. Pokud jsem dříve v PHP dělal předávání parametru při redirectu
standardním způsobem tj:
stranka.php?param1=20¶m2=AAA¶m3=bbb k musím nadefinovat
v routování
pro daný presenter a akci tři nepovinné parametry? tj:
new
Route(‚<presenter>/<action>[/<id>][/<id2>][/<id3>]‘,
‚Homepage:default‘);
4. Trošku nerozumím (v serialu začínáme) v ukázkovém presenteru
funkcím actionDefault() a renderDefault(). V dokumentaci nikde takové funkce
nejsou. Předpokládám správně, že logika je tato?:
Budu-li chtít mít v presenteru akci „VidimDvojmo“ tak v daném
presenteru musí existovat
funkce actionVidimDvojmo() která slouží pro práci s modelem
a
funkce renderVidimDvojmo() která slouží pro práci s view?
Přičemž je potřeba dodržovat velikost písmen v názvech ?
Děkuji za odpovědi
- Jan Endel
- Člen | 1016
Takže postupně:
- Žel s SP procedurami nemám zkušenosti, s tím ti bude muset poradit někdo jiný
- Použij VisualPaginator ten má persistentní parametry které se předávají napříč requesty
- není to potřeba, proměnné které nejsou v routě definovány se
předávájí standartním způsobem
foo=bar
- v presenteru si lze nadefinovat libovolný počet actionFoo() a renderFoo() metod, přičemž tyto metody se zavolají, pokud zavoláš akci foo a do layoutu se ti vloží šablona foo.latte. Co se velikosti týče jediné pravidlo je to, že název akce se v action a render píše velkým, tedy renderFoo() a actionBar(), pokud použiješ camelCase (renderVidimDvojmo()) tak se jedná o akci vidim-dvojmo a přistoupíš na ni (při použití default routeru) http://example.com/…vidim-dvojmo
Mnoho štestí do začátku.
Editoval pilec (27. 2. 2012 23:49)
- Etch
- Člen | 403
K bodu 4 ještě doplním pilce, že metody actionFoo()
a
renderFoo()
nejsou povinné. Pokud by si do daných metod neměl co
dát(například by si v šabloně měl jen čisté html), tak nemusejí být
nadefinované. Pokud by tedy chtěl přistoupit ke stránce vidim-dvojmo, tak
teoreticky stačí mít pouze šablonu vidimDvojmo.latte
.