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

Ahoj, prosím o radu ohledně použití Stringloadru pro nette 2.4 … stručně níže.

  1. Chci z DB vytáhnout html
  2. Do něj dosadit hodnoty do proměnných (=stringloader)
  3. 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‘

David Matějka
Moderator | 6445
+
0
-

jelikoz pro tu template pouzivas stejny engine se string loaderem

MC
Člen | 7
+
0
-

Davide, taky mi to mohlo dojít … moc děkuju za nakopnutí, už to funguje.