Použití stringloadru a následné předání do finální šablony v souboru – latte
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- MC
- Člen | 7
Ahoj, prosím o radu ohledně použití Stringloadru pro nette 2.4 … stručně níže.
- Chci z DB vytáhnout html
- Do něj dosadit hodnoty do proměnných (=stringloader)
- Toto celé potom vložit do šablony v souboru ‚basic.latte‘
function test($hash, $params)
{
// Načtení hmtl z DB
$row = $this->getByHash($hash);
// Předání ILatteFactory (v konstruktoru je: $this->engine = $ILatteFactory->create());
$latte = $this->engine;
// Doplnění html z DB o proměnné
$latte->setLoader(new StringLoader(['content' => $row->content,]));
$content = $latte->renderToString('content', $params);
$latte->setLoader(new StringLoader(['subject' => $row->subject,]));
$subject = $latte->renderToString('subject', $params);
// Přidání vyrendrovaných stringů do finální šablony
$temp = new Template($this->engine);
$temp->content = $content;
$temp->subject = $subject;
// Zde hlásí tracy chybu "Missing template ‘pathToTemplate/basic.latte’"
$temp->render(__DIR__ . '/basic.latte');
}
Chybová hláška Missing template ‚pathToTemplate/basic.latte‘