Výpis HTLM kódu z databáze

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
sppilka
Člen | 37
+
0
-

Ahoj,

Chtěl bych se zeptat, jak je to ohledně výpisu html kódu z databáze.
Mám funkci, která mi vrátí obsah jako text z databáze. Například tento(odeslán do databáze z tinyMCE):
<p><strong>NS/Hlavní nadpis 1</strong></p>

V šabloně zavolám funkci takto:

<h2 class="title">{$presenter->renderTextPage(24)}</h2>

Triviální funkce pro výpis vypadá takto:

public function renderTextPage($id){
        $data = $this->context->createPages()->where('id = ? AND page_active = 1', $id)->fetch();
        if($data){
            $pageText = $data->page_content;
        }else{
            $pageText = '';
        }
        return $pageText;
    }

Očekával bych něco jako „Hlavní nadpis 1“ v tučné formě, ale dostanu tentýž obsah jako je v databázi.
Poradíte kde je chyba?

Editoval sppilka (27. 3. 2013 9:31)

stefi023
Člen | 71
+
0
-

Predpokladam ze ti jde o vypnuti escapovani… pouzij makro s vykricnikem {!$presenter->renderTextPage(24)}, viz doc

jasir
Člen | 746
+
0
-
{!$presenter->renderTextPage(24)}

(vykřičník!)

sppilka
Člen | 37
+
0
-

Super díky,

Vše jsem vyzkoušel, ale tohle mě nenapadlo… :)

echo
Člen | 134
+
0
-

https://latte.nette.org/cs/tags

Vyplatí se číst. Je to hned 2. položka.

Re4DeR
Člen | 71
+
0
-

resil jsem podobny problem a vypnutí přes vykricnik se mi moc nezda, nebylo by lepsi vlasni makro ktere by melo definovano html znaky (p,br,h* atd) ktere muze vypsat ?
Pokud ho nekdo ma, mohl by ho zverejnit prosim? nebo to fakt vsichni resite vykricnikem ?

David Matějka
Moderator | 6445
+
0
-

na to muzes pouzit kombinaci ! a helperu striptags:

{!$html|striptags:'<b><a><p>'}

ja se ted snazim nepouzivat vykricnik a html vystup si pripravim v presenteru a do sablony ho poslu jako

$this->template->html = \Nette\Utils\Html::el()->setHtml('<strong>aaa</strong>'); //+ treba muzes striptags nebo cokoliv :)

v sablone staci

{$html}

Editoval matej21 (27. 3. 2013 18:27)