Jak napsat znovupoužitelné forum

- lysua
 - Člen | 6
 
Zdravím,
sem v Nette pomerně začátečník a chtěl bych si napsat diskuzní fórum
podobné například tomuto. Možná by mohlo být o něco jednodušší.
Nalezl jsem v doplňcích ForumControl, ale to je podle mě spíš jako diskuze
pod články, ale ne jako plnohodnotné forum s tématy. Důležité pro mě
je, abych ho mohl použít třeba i na dalších stránkach.
Napadlo mě napsat to jako další modul aplikace. Napsat to pouze jako presenter mi nepřijde správné řešení. Uvítám každou radu a nakopnutí správným směrem.

- Melmen
 - Člen | 132
 
Něco podobného jsem dělal nedávno. Není to kompletně dodělaný, ale používat se to dá :) Mám to celé v jednom modulu. Forum i kategorie se vytváří na základě jazyka – stejný princip jako toto fórum. Demo mám tady http://www.doutdes.cz/forum/ , anglickou (testovací) část pak tady http://www.doutdes.cz/en/forum/

- Etch
 - Člen | 403
 
Také jsme nedávno dělali fórum, které je podobné tomuto. Též jsme šli cestou modulu a hojně tam využíváme komponenty. Navíc jsme chtěli, aby to šlo nějak základně konfigurovat přes config.neon, takže to pak vypadá třeba následujícím způsobem:
divorum:
	factories:
		# Views
		categories:
			class: Divorum\Categories
			setup:
				- setTemplateFile('blabla.latte')
				- addToLeftPanel(@divorum.lastPostsBox)
				- addToLeftPanel(@divorum.onlineUsersBox)
		# Boxes
		lastPostsBox:
			class: \Divorum\Boxes\LastPostsBox
		onlineUsersBox:
			class: \Divorum\Boxes\OnlineUsersBox
Factory „categories“ vrací komponentu, která vykresluje kategorie a
fóra k nim náležející. Pokud někdo potřebuje nějaké velké změny, tak
napíše a vymění celou komponentu. Pokud chce například někdo jenom
pozměnit vykreslování, tak může nastavit jinou šablonu, pomocí metody
setTemplateFile. V tomto případě šablona změněna
z výchozí na šablonu blabla.latte. Metody
addToLeftPanel, addToRightPanel a další zase
zařizují ukotvení nějakých dalších komponent do různých panelů.