无法呈现模板
Unable to render template
我正在尝试发送表单 html 作为 json 响应。我遇到的问题是 ZF2 找不到表单模板文件。我收到错误
Zend\View\Renderer\PhpRenderer::render: Unable to render template "admin/categories/form.phtml"; resolver could not resolve to a file
在我的控制器中我有
if (!is_null($form)) {
$renderer = new PhpRenderer;
$viewModel = new ViewModel();
$viewModel->form = $form;
$viewModel->category = $category;
$viewModel->setTemplate('admin/categories/form.phtml');
$form = $renderer->render($viewModel);
}
form.phtml 文件存在,但正如我所说,ZF2 找不到它。在我的 module_config.php 我有
'view_manager' => array(
'display_not_found_reason' => true,
'display_exceptions' => true,
'doctype' => 'HTML5',
'not_found_template' => 'error/404',
'exception_template' => 'error/index',
'template_map' => array(
'admin/layout' => __DIR__ . '/../view/layout/layout.phtml',
'error/404' => __DIR__ . '/../view/error/404.phtml',
'error/index' => __DIR__ . '/../view/error/index.phtml',
),
'template_path_stack' => array(
'admin' => __DIR__ . '/../view'
),
),
有谁知道为什么 ZF 找不到我的模板文件?
非常感谢。
尝试替换
'template_path_stack' => array(
'admin' => __DIR__ . '/../view'
)
与
'template_path_stack' => array(
'admin' => __DIR__ . '/../view/admin'
)
或添加
'template_path_stack' => array(
'admin' => __DIR__ . '/../view',
__DIR__ . '/../view'
)
我终于知道是怎么回事了。 PhpRenderer 没有来自 module_config 文件的路径。我必须从服务经理那里得到 PhpRenderer。
$renderer = $this->getServiceLocator()->get('viewmanager')->getRenderer();
一旦我这样做了,模板就找到了并且呈现得很好。
我正在尝试发送表单 html 作为 json 响应。我遇到的问题是 ZF2 找不到表单模板文件。我收到错误
Zend\View\Renderer\PhpRenderer::render: Unable to render template "admin/categories/form.phtml"; resolver could not resolve to a file
在我的控制器中我有
if (!is_null($form)) {
$renderer = new PhpRenderer;
$viewModel = new ViewModel();
$viewModel->form = $form;
$viewModel->category = $category;
$viewModel->setTemplate('admin/categories/form.phtml');
$form = $renderer->render($viewModel);
}
form.phtml 文件存在,但正如我所说,ZF2 找不到它。在我的 module_config.php 我有
'view_manager' => array(
'display_not_found_reason' => true,
'display_exceptions' => true,
'doctype' => 'HTML5',
'not_found_template' => 'error/404',
'exception_template' => 'error/index',
'template_map' => array(
'admin/layout' => __DIR__ . '/../view/layout/layout.phtml',
'error/404' => __DIR__ . '/../view/error/404.phtml',
'error/index' => __DIR__ . '/../view/error/index.phtml',
),
'template_path_stack' => array(
'admin' => __DIR__ . '/../view'
),
),
有谁知道为什么 ZF 找不到我的模板文件?
非常感谢。
尝试替换
'template_path_stack' => array(
'admin' => __DIR__ . '/../view'
)
与
'template_path_stack' => array(
'admin' => __DIR__ . '/../view/admin'
)
或添加
'template_path_stack' => array(
'admin' => __DIR__ . '/../view',
__DIR__ . '/../view'
)
我终于知道是怎么回事了。 PhpRenderer 没有来自 module_config 文件的路径。我必须从服务经理那里得到 PhpRenderer。
$renderer = $this->getServiceLocator()->get('viewmanager')->getRenderer();
一旦我这样做了,模板就找到了并且呈现得很好。