未找到视图模板的文件夹

时间:2018-01-04 12:12:10

标签: zend-framework zend-framework3 zend-view

我再次寻找最好的方法。我尝试了一些部分视图,它没有找到工作模板找不到。

我在这做了什么: 摘录 show.phtml

    foreach ($dcls as $dcl) : 
//var_dump(get_object_vars($importdcls));

?>
    <tr>
    <td><?= $dcl->DCLID?></td>
    <td><?= $dcl->Part_Number?></td>
    <td><?= $dcl->Pad_Number?></td>
    <td><?= $dcl->Pad_Issue?></td>
    <td><?= $dcl->Pad_App?></td>
    </tr>
    <?php echo $this->partial('showpartial', ['pads'=>$pad]);?>
 <?php  endforeach; ?>

我将部分保存在与show.phtml相同的文件夹中

Screenshot partial view

我的 showpartial.phtml

<?php

$this->title = "Partial";
$this->headTitle($this->titel);
?>
<p></p>

 <tr>

    <td><?= $pad->DCLID?></td>
    <td><?= $pad->Part_Number?></td>
    <td><?= $pad->Pad_Number?></td>
    <td><?= $pad->Pad_Issue?></td>
    <td><?= $pad->Pad_App?></td>

    </tr>

在我的控制器中,我为视图提供了两个参数:

return new ViewModel([
                                    'dcls' => $this->table->fetchPartDcl($id),
                                    'pads' => $this->padtable->fetchPadPart($id),
                                ]);

此处还有我的 view_manager 配置:

 'view_manager' => [                                                             //templates für den view_manager
        'display_not_found_reason' => true,
        'display_exceptions'       => true,
        'doctype'                  => 'HTML5',
        'not_found_template'       => 'error/404',                                  //Skript für 404 Fehler
        'exception_template'       => 'error/index',
        'template_map' => [
            'layout/layout'           => __DIR__ . '/../view/layout/layout.phtml',
            'layout/layoutlogin'      => __DIR__ . '/../view/layout/layoutlogin.phtml',
            'application/index/index' => __DIR__ . '/../view/application/index/index.phtml',
            'error/404'               => __DIR__ . '/../view/error/404.phtml',
            'error/index'             => __DIR__ . '/../view/error/index.phtml',
        ],
        'template_path_stack' => [
            __DIR__ . '/../view',
        ],
    ],

我得到的错误:

  

Zend \ View \ Renderer \ PhpRenderer :: render:无法渲染模板&#34; showpartial&#34 ;;解析器无法解析为文件

因为错误消息我认为我仍然有一个理解问题。这里有一些问题:

  1. 如何在此文件夹中找到模板,我希望ZF无论如何都能找到它,因为它位于同一个文件夹中?
  2. 你会在哪里保存部分内容?在路径的视图文件夹中或其他位置。推荐什么?
  3. 在这种情况下使用partial的主要想法是好的吗?

1 个答案:

答案 0 :(得分:0)

好的,我在view模块文件夹下添加了一个文件夹部分。现在它有效。