Zend View 的自定义实例和对 View Helpers 的访问
Custom instance of Zend View and access to View Helpers
我使用 Zend View 呈现 HTML 代码来生成 PDF 文件。我的代码如下所示:
$viewModel = new ViewModel(array(
'order' => $order
));
$viewModel->setTemplate('invoice');
$resolver = new TemplatePathStack();
$resolver->addPath(realpath(__DIR__ . '/../view/app'));
$renderer = new PhpRenderer();
$renderer->setResolver($resolver);
$html = $renderer->render($viewModel);
这里我有 html 代码,我可以将其传递给 mPDF class 以生成 PDF 文档。
无论如何,我想在 "invoice" 模板中使用 View Helper 来做一些事情。如果我在 module.php 文件中定义我的自定义助手,则无法访问它。所以我需要用另一种方式来定义它,但我找不到如何...你们能帮帮我吗?
非常感谢!
您可以附加带有名称的视图助手并引用 class 名称。
见https://framework.zend.com/manual/2.4/en/modules/zend.view.helpers.advanced-usage.html
这是给你的例子,希望你使用的是可调用插件class。
...
$renderer = new PhpRenderer();
$renderer->setResolver($resolver);
$renderer->getHelperPluginManager()->setInvokableClass('viewhelpername', 'Path/To/Class');
我使用 Zend View 呈现 HTML 代码来生成 PDF 文件。我的代码如下所示:
$viewModel = new ViewModel(array(
'order' => $order
));
$viewModel->setTemplate('invoice');
$resolver = new TemplatePathStack();
$resolver->addPath(realpath(__DIR__ . '/../view/app'));
$renderer = new PhpRenderer();
$renderer->setResolver($resolver);
$html = $renderer->render($viewModel);
这里我有 html 代码,我可以将其传递给 mPDF class 以生成 PDF 文档。
无论如何,我想在 "invoice" 模板中使用 View Helper 来做一些事情。如果我在 module.php 文件中定义我的自定义助手,则无法访问它。所以我需要用另一种方式来定义它,但我找不到如何...你们能帮帮我吗?
非常感谢!
您可以附加带有名称的视图助手并引用 class 名称。
见https://framework.zend.com/manual/2.4/en/modules/zend.view.helpers.advanced-usage.html
这是给你的例子,希望你使用的是可调用插件class。
...
$renderer = new PhpRenderer();
$renderer->setResolver($resolver);
$renderer->getHelperPluginManager()->setInvokableClass('viewhelpername', 'Path/To/Class');