Přidávání komentářů k příspěvkům
- j.salak
- Člen | 42
Zdravím, řeším jednoduchou soc. síť, kde mám pod sebou příspěvky, a ke každému je možné přidávat komentáře, tan. že pod každám příspěvkem je seznam komentářů ma měl by tam být formulář pro přidání nového komentáře, celé ideálně pak zajaxovat, ale nemůžu nějak přijít na tu strukturu v presenteru. Díky za tipy.
- akadlec
- Člen | 1326
Tak v presenteru si uděláš akci na výpis, pak si tam vytvoříš form a jeho handle bude přidávat příspěvky. Když to chceš celé ajaxovat, tak po vykonání toho handle si necháš překreslit daný přípspěvek či jen jeho komentáře a je to. Záleží teda jak moc složitě to chceš řešit :D
- j.salak
- Člen | 42
akadlec napsal(a):
Tak v presenteru si uděláš akci na výpis, pak si tam vytvoříš form a jeho handle bude přidávat příspěvky. Když to chceš celé ajaxovat, tak po vykonání toho handle si necháš překreslit daný přípspěvek či jen jeho komentáře a je to. Záleží teda jak moc složitě to chceš řešit :D
Jasně, jde o to, že je na stránce třeba 10 příspěvků a ke každému je potřeba udělat formulář pro přidání komentáře. Našel jseml, že mám použít nějakej Multiplier, ale ten pak vykresluju pomoci neparovyho {control …} a ja to chci vykreslit rucne, potrebuju tam dat bootstrap apod. a proste nechci pouzivat to praseci interni vykreslovani
- j.salak
- Člen | 42
CZechBoY napsal(a):
Udělej si formulář jako komponentu a můžeš si udělat šablonu jakou chceš… Potom v šabloně presenteru použiješ jen
{control mujFormularSVlastniKomponentou}
Jojo asi jedina rozumna moznost. A v Ty komponente si latte nactu ze souboru, zpracuju a returnnu v renderu() zejo? K dybych to pak chtel zajaxovat, tak si musim ty jednotlivy komponenty zabalit do dynamickejch snippetu a pak invalidovat jen ten konkretni balik komentaru u danyho prispevku.
- Šaman
- Člen | 2659
Pro formuláře si můžeš nastavit renderer, třeba i Bootstrap3, nebo pro tyto konkrétní formy upravený podle sebe.
- j.salak
- Člen | 42
Šaman napsal(a):
Pro formuláře si můžeš nastavit renderer, třeba i Bootstrap3, nebo pro tyto konkrétní formy upravený podle sebe.
Jj, to vím, ale já to radši renderuju ručně, používám tam hodně ikonek, popisků, responsivity apod. takže jsem rederer před lety uplně zavrhnul. Potřebuju ikonky v tlačátkách (který samozřejmě potřebuju renderovat jako button a ne input, apod. prostě jednodušší a pro dělbu práce mezi lidi i lepší ty šablony mít ručně v latte aby mi třeba grafiku aplikace mohl dělat člověk mimo nette apod.
- akadlec
- Člen | 1326
Ne uděláš si obyč komponentu a v ní vytvoříš formulář který renderuješ ručně.
class MyFormComponent extends BaseComponent
{
//...
protected function createComponentForm()
{
return new Nette\Application\UI\Form()
}
}
presenter.latte
{foreach $posts as $post}
{control myFormComponent-$post->getId()}
{/foreach}
muFormComponent.latte
<form n:name="form">
//...
</form>
A co chceš překreslovat tak obalíš do snippetů a pak dle potřeby invaliduješ.