Několik otázek k mailům v Nette
- Jiří Nápravník
- Člen | 710
Mám několik otázek k mailům v Nette. Chci posílat maily s pomocí šablon latte.
- Chci posílat maily v modelu, všude vidím návod, jak to posílat přes presenter. Jak docílím toho, abych tam mohl používat sestavování linků apod.?
- Rád bych měl možnost ty šablony mailů editovat v administraci. Nechci to ale řešit tak, že bych ukládal ty maily do souborů. Raději bych je viděl v databázi. Umožňuje Nette, něco takového, že předhodím text a Latte ho přechroupe, doplní proměnné apod? Případně jak řešit lépe možnost editace uživatelem.
- Jde v šablonách pro maily používat i layout? Zkrátka abych měl nějakou hlavičku, patičku a měnil jen střed?
Díky
- David Matějka
- Moderator | 6445
- https://forum.nette.org/…-orchestrace#…
- viz https://doc.nette.org/cs/mail#… s tim, ze misto FileTemplate pouzijes jen Template a pomoci setSource nastavis latte
- makro layout
- Tomáš Votruba
- Moderator | 1114
Pěkné požadavky :) 1., 2. u 3. řeším pomocí vlastní Message
1. řeším pomocí TemplateFactory, ale možná postačí i něco takového:
$template = new Nette\Templating\FileTemplate;
$template->registerFilter(new Nette\Latte\Engine);
3. „layout“ zmíněný v mé Message výše vypadá takto
Editoval Tomáš Votruba (21. 2. 2014 23:49)
- Jiří Nápravník
- Člen | 710
Díky za reakce. Líbí se mi řešení od @matej21, nevěděl jsem, že si můžu takhle pěkně nastavit vlastní source pro latte. Protože tam můžu pěkně využívat i helpery apod.
Ovšem mám tu ještě jeden problém, makro layout funguje pouze s FileTemplate. Je to nějak řešitelné?
A ještě otázka ohledně těch URL, použil jsem ten UrlGenerator od Tebe, ale nějak ho nemohu zprovoznit.
Dal jsem ho jen do config.neon a pak si ho injectnul tam kam potřebuju. Jenže začlo to řvát, že není service URL, tak jsem si konstruktor upravil takto:
public function __construct(Request $request, Application\IRouter $router)
{
$this->refUrl = new Url($request->getUrl());
$this->router = $router;
}
ale když zavolám :User:Front:User:register ,což jinde v pohodě funguje, tak dostanu InvalidLinkException, že neexistuje: User:Front:User:register:register()
Editoval Jiří Nápravník (22. 2. 2014 2:21)
- David Matějka
- Moderator | 6445
s tou template je to zajimavy :) ted me nic rozumnyho nenapada (nez rucne precist layout a spojit to v jeden retezec)…
k linku: to register:register
je tam divny, posilas tam ten
parametr spravne? muzes kdyztak nekam hodit celou ladenku?
- Jiří Nápravník
- Člen | 710
Mě napadlo ještě udělat pak FileTemplate a vložit tam tenhle výstup s noescape helperem to by teoreticky šlo ne?
Laděnka je tady. Který parametr myslíš? Ten „odkaz“ na action. Jj, posílám to jsem schválně kontroloval jako první a zkopíroval odjinud, kde mi to generuje dobře.
Jinak jedu na 2.1.1 stable
- Tomáš Votruba
- Moderator | 1114
@greeny: Ano, díky.
@matej21: Mohl bys z toho UrlGeneratoru udělat composer balíček? Myslím, že to má potenciál.