Nette – TextArea ⇒ session ⇒ zobrazenie

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

Ahojte,

takže … z formulára odošlem obsah TextArea do session $sekcia->textarea … a odtiaľ ho chcem zobraziť na stránke … všetko by bolo v poriadku, až nato, že keď mám v TextArea povedzme trojriadkový text, tak výsledne sa mi to na stránke zobrazí v jednom riadku … ako to teda vyriešiť tak, aby sa mi zobrayoval takz obsah ako v textarei? Ďakujem

besanek
Člen | 128
+
0
-

To by standartě mělo fungovat. Nebo myslíš jako vypsat v šabloně pomocí Latte mimo textarea?

{!$text|escape|nl2br}
Takeshi
Člen | 596
+
0
-

besanek napsal(a):

To by standartě mělo fungovat. Nebo myslíš jako vypsat v šabloně pomocí Latte mimo textarea?

{!$text|escape|nl2br}

Diky moc !

David Matějka
Moderator | 6445
+
+1
-

neptal ses uz jednou ?

btw, proc kazdy tvuj topic zacina slovem „Nette“?

Editoval matej21 (21. 1. 2014 19:39)

Takeshi
Člen | 596
+
0
-

Ospravedlnujem sa :-)

Ano, ked sa na to teraz pozeram, uz som tuto otazku raz daval, len som na to zabudol a potreboval som to surne riesit, tak som nemal cas prehrabavat sa …

Nadpis novej temy musi mat min. 25 znakov, tak sa to snazim nejak natiahnut … preto to Nette

BTW. … na stranke sa mi to ukazuje spravne ale ked to poslem cez email, tak mi to sice pride ale v tomto formate

<?php
{!q qq qqq qqqq|escape|nl2br}
?>

a spravne by to malo byt zobrazene

<?php
q
qq
qqq
qqqq
?>

Dakujem :-)

honos
Člen | 109
+
0
-

besanek napsal(a):

To by standartě mělo fungovat. Nebo myslíš jako vypsat v šabloně pomocí Latte mimo textarea?

{!$text|escape|nl2br}

Me by zase zajimalo na co je tam ten modifikator ‚escape‘ ? :o)

Takeshi
Člen | 596
+
0
-

Takeshi napsal(a):

>Na stranke sa mi to ukazuje spravne ale ked to poslem cez email, tak mi to sice pride ale v tomto formate

<?php
{!q qq qqq qqqq|escape|nl2br}
?>

a spravne by to malo byt zobrazene

<?php
q
qq
qqq
qqqq
?>

Dakujem :-)

Chccem vás ešte poprosiť, aby ste sa mi pozreli na tento problém, ďakujem

Editoval Takeshi (22. 1. 2014 7:48)

jiri.pudil
Nette Blogger | 1032
+
0
-

Jak vytváříš šablonu emailu? Registruješ do ní Latte?

Michal Vyšinský
Člen | 608
+
0
-

Když pro email vytváříš template, tak musíš zaregistrovat Latte + helpery:

$template->registerFilter(new Nette\Latte\Engine);
$template->registerHelperLoader('Nette\Templating\Helpers::loader');
Takeshi
Člen | 596
+
0
-

CherryBoss napsal(a):

Když pro email vytváříš template, tak musíš zaregistrovat Latte + helpery:

$template->registerFilter(new Nette\Latte\Engine);
$template->registerHelperLoader('Nette\Templating\Helpers::loader');

Tak o tomto moc neviem, ja len pouyivam nasledovne …

<?php
$email->setHtmlBody("<nieco>")
?>

tieto spomenute veci mam kde vlozit a na ake miesto … ako som uz spomenul, s emailom moc skusenosti nemam… dik

jiri.pudil
Nette Blogger | 1032
+
0
-

Nástřel:

$template = new Nette\Templating\Template;
$template->registerFilter(new Nette\Latte\Engine);
$template->registerHelperLoader('Nette\Templating\Helpers::loader');

$template->setSource("<nieco>");
$email->setHtmlBody($template);
Takeshi
Člen | 596
+
0
-

jiri.pudil napsal(a):

Nástřel:

$template = new Nette\Templating\Template;
$template->registerFilter(new Nette\Latte\Engine);
$template->registerHelperLoader('Nette\Templating\Helpers::loader');

$template->setSource("<nieco>");
$email->setHtmlBody($template);

Diky, vyskusam.

besanek
Člen | 128
+
0
-

honos napsal(a):

besanek napsal(a):

To by standartě mělo fungovat. Nebo myslíš jako vypsat v šabloně pomocí Latte mimo textarea?

{!$text|escape|nl2br}

Me by zase zajimalo na co je tam ten modifikator ‚escape‘ ? :o)

Zkus dát do $text něco takového a vypiš si to s escape a bez escape. Pak určitě pochopíš k čemu je to dobré :)

$this->template->text = "<b>Tučné</b><script>alert('xss');</script>";
David Matějka
Moderator | 6445
+
0
-

btw, radeji pouzivejte

{$text|escape|nl2br|noescape}

! je v dev verzi jiz deprecated

Takeshi
Člen | 596
+
0
-

Diky, ale to

$template … atd ked pouzijem, tak pri odosielani halsi chybu

a ked bouzijem {$text|escape|nl2br|noescape} vysledok je rovnaky,

teda namiesto

<?php
x
xx
xxx
?>

Vypise

<?php
{!x xx xxx|escape|nl2br|noescape}
?>

btw … bez vykricniku to nefunguje

besanek
Člen | 128
+
0
-

Třeba by pomohlo kdybychom věděli jakou chybu to vyhazuje.

David Matějka
Moderator | 6445
+
0
-

@Takeshi: myslim, ze nevytvaris sablonu s latte enginem, jak ti bylo doporuceno vyse. nebo jak ten email vytvaris?

Takeshi
Člen | 596
+
0
-

matej21 napsal(a):

@Takeshi: myslim, ze nevytvaris sablonu s latte enginem, jak ti bylo doporuceno vyse. nebo jak ten email vytvaris?

Talze som to skusil takto

<?php
$email = new Message;
$email->setFrom("abc@gmail.com");
$email->addTo("asd@gmail.com");
$email->setSubject("blablabla");

$template = new Nette\Templating\Template;
$template->registerFilter(new Nette\Latte\Engine);
$template->registerHelperLoader('Nette\Templating\Helpers::loader');

$template->setSource("{!$text|escape|nl2br}");
$email->setHtmlBody($template);
$email->send();
?>
besanek
Člen | 128
+
0
-

Zkus použít apostrofy místo uvozovek ;)

$template->setSource('{!$text|escape|nl2br}');
Takeshi
Člen | 596
+
0
-

besanek napsal(a):

Zkus použít apostrofy místo uvozovek ;)

$template->setSource('{!$text|escape|nl2br}');

Skusil som, email odosle, ale nic mi nepride == prazdny email

David Matějka
Moderator | 6445
+
0
-

a poslal si promennou text do sablony?

$template->text = $text;
Takeshi
Člen | 596
+
0
-

matej21 napsal(a):

a poslal si promennou text do sablony?

$template->text = $text;

$namiesto text som pouzil session a viem ze funguje, pretoze mi to predtym vtpislovalo, sice blbo, ale bypisovalo