Přidávání komentářů k příspěvkům

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
j.salak
Člen | 42
+
0
-

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
+
0
-

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
+
0
-

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

CZechBoY
Člen | 3608
+
0
-

Udělej si formulář jako komponentu a můžeš si udělat šablonu jakou chceš… Potom v šabloně presenteru použiješ jen

{control mujFormularSVlastniKomponentou}
j.salak
Člen | 42
+
0
-

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
+
0
-

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
+
0
-

Š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
+
+1
-

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š.