$baseUri a $basePath v šabloně komponenty
- Alsatian
- Člen | 175
Ahoj. Dle příkladu níže odesílám emaily s latte šablonou
$latte->renderToString..
Rád bych v této šabloně použil {baseUri} a {basePath}. Víte někdo
o jednoduchém řešení?
Moc děkuji.
<?php
use Nette\Application\LinkGenerator;
use Nette\Bridges\ApplicationLatte\ILatteFactory;
use Nette\Mail\IMailer;
class MailSender
{
/** @var LinkGenerator */
private $linkGenerator;
/** @var ILatteFactory */
private $latteFactory;
/** @var IMailer */
private $mailer;
function __construct(LinkGenerator $generator, ILatteFactory $latteFactory, IMailer $mailer)
{
$this->linkGenerator = $generator;
$this->latteFactory = $latteFactory;
$this->mailer = $mailer;
}
function sendEmail()
{
$latte = $this->latteFactory->create();
// nainstalujeme do $latte makra {link} a n:href
Nette\Bridges\ApplicationLatte\UIMacros::install($latte->getCompiler());
$latte->addProvider('uiControl', $this->linkGenerator);
//$order = ...;
$params = [
'name' => $order->getName(),
// ...
];
$html = $latte->renderToString(__DIR__ . '/email.latte', $params);
$mail = new Nette\Mail\Message;
$mail->addTo($order->email);
$mail->setHtmlBody($html);
$this->mailer->send($mail);
}
}
- David Matějka
- Moderator | 6445
Viz template factory, kde vidis, jak se vytvareji. nebo rovnou muzes pouzit onu TemplateFactory namisto latte factory :)
- Alsatian
- Člen | 175
@Milo – v předmětu a v textu zprávy chci uvézt ze které
domény je web odeslán – nazevdomeny.cz
Šel jsem na to každopádně složitě a špatně. Vyřešeno posláním si
proměnné s názvem webu „Název webu“ jako proměnné získané
z Config.neon a linky pomocí linkGenerator :)
Díky všem!