【发布时间】:2018-01-05 04:45:55
【问题描述】:
我又在寻找最好的方法。我尝试了部分视图,但没有找到模板。
这是我所做的: sn-p 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: 无法渲染模板“showpartial”;解析器无法解析到文件
由于错误消息,我认为我仍然存在理解问题。这里有一些问题:
- 如何在这个文件夹中找到模板,我希望ZF无论如何都能找到它,因为它在同一个文件夹中?
- 您会将部分保存在哪里?在路线的视图文件夹或其他地方。有什么推荐的?
- 在这种情况下使用 partial 的主要思想是一个好的思想吗?
【问题讨论】:
标签: zend-framework zend-framework3 zend-view