jak do new Latte\Engine() dostat vychozi makra a filtry nette?

- flexroad
 - Člen | 117
 
Ahoj,
tusi nekdo jak do nize uvedeneho pridam idealne vsechny latte makra a filtry z nette?
            $latte = new Engine();
            $latte->onCompile[] = function($latte) {
                //filtry a makra pridam asi tady, otazka je jak?
            };
            $latte->render(__DIR__ . '/../templates/Home/page.latte', $parameters);
Kdyz pouziju vyse uvedeny kod a v page.latte pak pridam napriklad {control
nejakycontol}, vrati to
„Unknown macro {control} “
Diky za rady
@flexroad

- Jan Endel
 - Člen | 1016
 
Ahoj flexi,
nejejednoduší budeš mít život, když použiješ
Nette\Bridges\ApplicationLatte\TemplateFactory a nad tím metodu createTemplate
má bohužel docela hodně závislostí, ale většina z nich je
nepovinná.

- flexroad
 - Člen | 117
 
OK. Zmenil jsem na ILatteFactory… Nize uvedeny kod ale vraci chybu „Undefined variable: _control“
    /** @var Nette\Bridges\ApplicationLatte\ILatteFactory @inject */
    public $latteFactory;
            $parameters = array('records'=>$postsRecords);
            $latte = $this->latteFactory->create();
            Nette\Bridges\ApplicationLatte\UIMacros::install($latte->getCompiler());
            $latte->render(__DIR__ . '/../templates/Home/page.latte', $parameters);
Co delam spatne?
@flexroad

- enumag
 - Člen | 2118
 
V podstatě to že nepoužíváš TemplateFactory: https://api.nette.org/…ory.php.html#92

- flexroad
 - Člen | 117
 
@JanEndel : Diky moc!!! ,ale stejne moc nevim, jak tomu ty zavislosti predat…
Nize uvedene mi pro zmenu vraci:
Call to a member function getComponent() on a non-object na tomto radku…
} elseif ($record->type == "post") { $_l->tmp = $_control->getComponent("contentPanel"); if ($_l->tmp instanceof Nette\Application\UI\IRenderable) $_l->tmp->redrawControl(NULL, FALSE); $_l->tmp->renderItem($item) ;} $iterations++; }
	        $template = $this->templateFactory->createTemplate();
            $template->setFile(__DIR__ . '/../templates/Home/page.latte');
            $template->records = $postsRecords;
            $template->render();
--edit–
V presenteru mam pochopitelne komponentu „contentPanel“ normalne
vytvorenou:
    protected function createComponentContentPanel()
    {
        $control = $this->contentPanelFactory->create();
        return $control;
    }
Jen nevim, jak to predat templateFactory… :( Uz nad tim sedim asi tri hodiny a me dlouhe kucerave vlasy zacinaji slusne sedivet … GRRR.
Editoval flexroad (8. 8. 2015 11:46)

- flexroad
 - Člen | 117
 
@enumag
Poradis PROSIM jak?
Jak uz jsem doplnil v postu vyse, komponentu vytvarim v presenteru…
    protected function createComponentContentPanel()
    {
        $control = $this->contentPanelFactory->create();
        return $control;
    }
Jen nevim, jak ji predat templateFactory :(
DIKY MOC ZA VAS DRAHOCENY CAS!!!