Zend框架2 - 如何包括图书馆分(Zend Framework 2 - How to incl

2019-08-04 11:11发布

我写的部分,我想在几个模块使用。 我认为最好的办法是把它放到我的自定义库。

但不幸的是我不能想出一个办法,包括这个部分,而无需使用一个非常丑陋的路径,如:

echo $this->partial('/../../../../vendor/myvendor/library/MyVendor/View/Views/FormPartial.phtml'
, array(...));

任何想法如何从我的观点链接到我的供应商目录中?

Answer 1:

问题是解析器无法解析您已经提供的视图模板的路径。 我通常在module.config.php的template_map项添加一个配置项的所有可访问的谐音

比如我有页眉和页脚谐音像这样我的看法/布局/ header.phtml和视图/布局/ footer.phtml

下面是我的配置

'template_map' => array(
    'layout/layout'         => __DIR__ . '/../view/layout/layout.phtml',
    'header'                => __DIR__ . '/../view/layout/header.phtml',
    'footer'                => __DIR__ . '/../view/layout/footer.phtml',
    'error/404'             => __DIR__ . '/../view/error/404.phtml',
    'error/index'           => __DIR__ . '/../view/error/index.phtml',
),

我的布局视图脚本里面我简单地说

<?php echo $this->partial('header'); ?>

<?php echo $this->partial('footer'); ?>

另外,如果你有在/模块/控制器/动作格式,还可以做你的谐音

<?php echo $this->partial('/module/controller/action'); ?>

你应该把视图脚本在模块的控制器文件夹的视图文件夹



文章来源: Zend Framework 2 - How to include partial from library