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.