/** * Load template file path with aditional macros and variables * @author Pavel Železný <*****@*****.**> * @param string $templateFilePath * @return \Nette\Templating\FileTemplate * @throws \Nette\FileNotFoundException */ private function getFileTemplate($templateFilePath) { if (file_exists($templateFilePath)) { $template = new \Nette\Templating\FileTemplate($templateFilePath); $template->onPrepareFilters[] = callback($this, 'templatePrepareFilters'); $template->registerHelperLoader('\\Nette\\Templating\\Helpers::loader'); $template->basePath = realpath(__DIR__); return $template; } else { throw new \Nette\FileNotFoundException('Requested template file is not exist.'); } }
/** * @return ITemplate */ protected function createTemplate($file = null) { $template = new Nette\Templating\FileTemplate($file); //$presenter = Environment::getApplication()->getPresenter(); $template->onPrepareFilters[] = array($this, 'templatePrepareFilters'); // default parameters //$template->control = $this; //$template->presenter = $presenter; $template->baseUrl = \Nette\Environment::getHttpRequest()->url->baseUrl; $template->basePath = rtrim($template->baseUrl, '/'); $template->baseModulePath = $template->basePath . '/modules/multipleFileUpload'; // flash message /*if ($presenter !== NULL && $presenter->hasFlashSession()) { $id = $this->getParamId('flash'); $template->flashes = $presenter->getFlashSession()->$id; } if (!isset($template->flashes) || !is_array($template->flashes)) { $template->flashes = array(); }*/ $template->registerHelperLoader('Nette\\Templating\\Helpers::loader'); return $template; }
public function send($to, $message, $args = []) { $mail = new \Nette\Mail\Message(); $mail->setFrom($this->config['from'], $this->config['display']); $mail->addTo($to); $dir = $this->config['templateDir']; $template = new \Nette\Templating\FileTemplate(); $template->registerFilter(new \Nette\Latte\Engine()); $template->registerHelperLoader('\\Nette\\Templating\\Helpers::loader'); $template->setFile($dir . '/' . $message . '.latte'); $template->setParameters($args); $template->recipient = $to; $mail->setHtmlBody($template); $this->mailer->send($mail); }
/** * @return Nette\Templating\FileTemplate */ public function createNette__template() { $service = new Nette\Templating\FileTemplate(); $service->registerFilter($this->createNette__latte()); $service->registerHelperLoader('Nette\\Templating\\Helpers::loader'); return $service; }
/** * @return Nette\Templating\FileTemplate */ public function createServiceNette__template() { $service = new Nette\Templating\FileTemplate(); $service->registerFilter($this->getService('nette.latteFactory')->create()); $service->registerHelperLoader('Nette\\Templating\\Helpers::loader'); $service->onPrepareFilters = $this->getService('events.manager')->createEvent(array('Nette\\Templating\\Template', 'onPrepareFilters'), $service->onPrepareFilters); return $service; }
function __construct() { parent::__construct(); $this->onPrepareFilters[] = callback($this, "registerFilters"); }
public function actinEmailsubmitted() { $recievers = $this->context->createCustomer()->getCustomer()->where('newsletter', '1')->where('active', "1"); $products = $this->context->createProduct()->getProduct()->where('action', "1")->order('category_id'); $orderDate = $this->context->createOrderDate()->getOrderDates()->where('active', 1)->order('orderdate')->limit(1)->fetch(); $template = new \Nette\Templating\FileTemplate(APP_DIR . '/AdminModule/templates/Overview/_actionEmail.latte'); $template->registerFilter(new \Nette\Latte\Engine()); $template->registerHelperLoader('\\Nette\\Templating\\DefaultHelpers::loader'); $template->products = $products; if (!empty($orderDate)) { $template->orderdate = $orderDate->orderdate->format('d.m. H:i'); } else { $template->orderdate = NULL; } $template->render(); // vykreslí šablonu foreach ($recievers as $reciever) { try { $mail = new Message(); $mail->setFrom('dovoz-nemecko.cz <*****@*****.**>')->addTo($reciever->email)->addTo($this->context->parameters['orderEmail'])->setSubject('Dovoz Německo - nabídka akčního zboží')->addTo($this->context->parameters['adminEmail'])->setHtmlBody($template)->send(); } catch (\Exception $e) { Debugger::log($e); $this->flashMessage("Email odebírateli {$reciever->email} se nepovedl odeslat", 'error'); } } $this->flashMessage('Emaily úspěšně odeslány', 'info'); }