Jak vytvořit trait v nette – moc prosím o ukázkový kód – nikde jsem ho nenašel

Jan Kostohryz
Člen | 14
+
0
-

Zdravím,
potřeboval bych vytvořit trait který vygeneruje menu.
Trait by měl jednu funkci, která vybere kategorie z databáze a pošle je do šablony.
Také by vyžíval model pro práci s databází.
Poté bych trait injektoval do BasePresenteru.

Problém je v tom, že nevím jestli trait musí patřit do třídy, nebo jestli má být ve složce model.

Jestli bydte mi prosím ukázali nějaký ukázkový kód pro trait abych věděl. Nikde jsem to nenašel.

Kamil Valenta
Člen | 758
+
0
-

Myslím, že to co hledáš, je spíše komponenta. Zkus mrknout na ni.

David Grudl
Nette Core | 8111
+
+1
-

asi myslíš něco jako

trait Menu
{
	function injectMenu(Nette\Database\Connection $db)
	{
		$this->onRender[] = function () use ($db) {
			$this->template->menu = $db->query('VRAT DATA PRO MENU');
		};
	}
}

a pouzití

class MyPresenter extends Nette\Application\UI\Presenter
{
	use Menu;
}