我再次寻找最好的方法。我尝试了一些部分视图,它没有找到工作模板找不到。
我在这做了什么: 摘录 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相同的文件夹中
我的 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 ;;解析器无法解析为文件
因为错误消息我认为我仍然有一个理解问题。这里有一些问题:
答案 0 :(得分:0)
好的,我在view模块文件夹下添加了一个文件夹部分。现在它有效。