Question

I am using zend framework 2.1.5 and I want to send email with custom email template. here is my code

$view = $this->getServiceLocator()->get('Zend\View\Renderer\RendererInterface');
$viewModel = new \Zend\View\Model\ViewModel();
$template = 'forgot_password.phtml';
$viewModel->setTemplate($template)
        ->setVariables(array('data' => $data));

$content = $view->render($viewModel);

getting an error Zend\View\Renderer\PhpRenderer::render: Unable to render template "forgot_password.phtml"; resolver could not resolve to a file

Was it helpful?

Solution

Note : Set resolver to your view like as below

$view = $this->getServiceLocator()->get('Zend\View\Renderer\RendererInterface');


    $resolver = new \Zend\View\Resolver\TemplatePathStack();
            $resolver->setPaths(array(
                'mailTemplate' => __DIR__ . 'TEMPLATE PATH'  
            ));

            $view->setResolver($resolver); 


    $viewModel = new \Zend\View\Model\ViewModel();
    $template = 'forgot_password.phtml';
    $viewModel->setTemplate($template)
            ->setVariables(array('data' => $data));

    $content = $view->render($viewModel);

This may help you.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top