Stránka do proměné($string = Presenter:action)

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

Měl jsem v plánu vyrenderovat Admin:actionNotEditable do proměné a poslat ji v email avšak zjistil jsem že neumím odchytit výstup akce presenteru.
Tak mě napadlo že šablonu té akce zavolám přes

$theme = new FileTemplate('notEditable.latte');

ale to by znamenalo na psání řídící logiky znovu.
Dá se výše uvedené nějak jednoduše realizovat ?

Tabetha
Člen | 140
+
0
-

a podla tohto to nešlo?

Jan Tvrdík
Nette guru | 2595
+
0
-

@salazzar: Přečti si dokumentaci.

salazzar
Člen | 18
+
0
-

díky za rychlou reakci, ale nevím jak Vám mě ty odkazy vrátí prázdnou stránku…

thunderbuff
Člen | 164
+
0
-
<?php

			$template = new FileTemplate('notEditable.latte');
			$template->setTranslator($this->translator);
			$template->registerFilter(new Engine);
			$template->registerHelperLoader('\Nette\Templating\Helpers::loader');
			$template->orderid = 123;

			$mail = new Message();
			$mail->setFrom('...')
			     ->addTo('...')
			     ->setSubject('...')
			     ->setHtmlBody($template);

			$mailer->send($mail);

?>

Tohle musí fungovat. Nezapomínáš tu šablonu plnit daty?

salazzar napsal(a):

díky za rychlou reakci, ale nevím jak Vám mě ty odkazy vrátí prázdnou stránku…

Pokud šablonu nastavuješ jen tomu mailu, tak se přece na výstup nevykreslí.

// Edit
Pokud chceš do proměnné zachytit opravdový výstup stránky, tak by ti pomohl kód níže, ale je to docela prasárna a server posílá další request sám na sebe.

<?php

$string = file_get_contents($presenter->link('//Presenter:action'));

?>

Editoval thunderbuff (17. 5. 2013 14:45)

mildabre
Člen | 62
+
0
-

V Nette je ideální šablonovat pomocí FileTemplate šablonami ze souboru .latte. Ta proměnná by měla jedinou výhodu, kdyby byla šablona tak jednoduchá, že by se nevyplatilo zakládat další soubor. Potom by se kód šablony mohl zapsat rovnou do kódu aplikace a nastavit v objektu Template ->setSource(…kód…).
Přístup pomocí proměnné je zastaralá techika, v Nette je třeba jít „Nette way“.

salazzar
Člen | 18
+
0
-

udělám to jak psal thunderbuff

díky za rady

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

mildabre Omlouvám se, ale tomuto vůbec nerozumím. Nejde o to, co je Nette Way, ale co se kdy hodí více použít. ->setSource() nemá odpostatnění, cituji:

kdyby byla šablona tak jednoduchá, že by se nevyplatilo zakládat další soubor

Ale například když je šablona uložená v databázi.