Search code examples
zend-frameworkphp-5.3

Zend\View\Renderer\PhpRenderer::render: resolver could not resolve to a file


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


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.