带有 viewhelpers 和 partialLoop 的 treeview
treeview with viewhelpers and partialLoop
我尝试使用 partialLoop viewhelper。它不起作用我会尝试正确解释它。
在我的视图脚本中,我想显示有效的事件 (Ribaveranstaltungen) 的信息。对于每个事件,我都想显示文档 (Ribadocs)。我认为这个 partialLoop 东西可能是个好主意。我在将数据绑定到控制器内的视图时遇到了一些麻烦,因为我在视图中创建了数据,我对此并不满意,但目前我没有找到其他解决方案。这可能是问题的一部分。
这是我的索引视图脚本:
<?php
$veranstaltung=array();
$dokument=array();
$i=1;
$veran=new Application_Model_DbTable_Ribaveranstaltungen();
$documents = new Application_Model_DbTable_Ribadocs();
$veranstaltung=$veran->fetchAll();
foreach($veranstaltung as $v) :
$dokument=$documents->getDocumentveranstaltung1($v->id);?>
<tr>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $v->veranstaltung;?></td>
</tr>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $this->partialLoop('/helpers/_docs-row.phtml', $dokument);?></td>
<?php
$i=$i+1;
endforeach; ?>
这是我的部分助手:
<?php
$i=1;
if ($dokument != NULL)
{?>
<tr>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $dokument->docid;?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $dokument->veranstaltung;?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $dokument->typ;?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $dokument->bezeichnung;?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $dokument->quelle;?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $dokument->bemerkung;?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $dokument->pfad;?></td>
</tr>
<?php
$i=$i+1;
} ?>
我有几个问题,因为我知道我应该在控制器中绑定数据:
为什么部分代码不起作用?
如果是因为我没有将数据绑定到视图($this),我该如何管理它,因为每个事件的数据都会发生变化。 (约束:veranstaltung 1-n 个文档)。
最后一个,这个 partialLoop 自动做 look 对不对,比如显示对象中的所有数据?
如果你想打印传递给你的部分循环的数据内容,我认为你需要使用 $this->docid 等等,而不是 $dokument->docid。或者,您可以这样做,以便可以访问成员 $this->dokument->docid
<?php echo $this->partialLoop('/helpers/_docs-row.phtml', array('dokument' => $dokument));?>
我尝试使用 partialLoop viewhelper。它不起作用我会尝试正确解释它。 在我的视图脚本中,我想显示有效的事件 (Ribaveranstaltungen) 的信息。对于每个事件,我都想显示文档 (Ribadocs)。我认为这个 partialLoop 东西可能是个好主意。我在将数据绑定到控制器内的视图时遇到了一些麻烦,因为我在视图中创建了数据,我对此并不满意,但目前我没有找到其他解决方案。这可能是问题的一部分。
这是我的索引视图脚本:
<?php
$veranstaltung=array();
$dokument=array();
$i=1;
$veran=new Application_Model_DbTable_Ribaveranstaltungen();
$documents = new Application_Model_DbTable_Ribadocs();
$veranstaltung=$veran->fetchAll();
foreach($veranstaltung as $v) :
$dokument=$documents->getDocumentveranstaltung1($v->id);?>
<tr>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $v->veranstaltung;?></td>
</tr>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $this->partialLoop('/helpers/_docs-row.phtml', $dokument);?></td>
<?php
$i=$i+1;
endforeach; ?>
这是我的部分助手:
<?php
$i=1;
if ($dokument != NULL)
{?>
<tr>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $dokument->docid;?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $dokument->veranstaltung;?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $dokument->typ;?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $dokument->bezeichnung;?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $dokument->quelle;?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $dokument->bemerkung;?></td>
<td class="row_<?PHP echo $i % 2;?>"><?php echo $dokument->pfad;?></td>
</tr>
<?php
$i=$i+1;
} ?>
我有几个问题,因为我知道我应该在控制器中绑定数据: 为什么部分代码不起作用? 如果是因为我没有将数据绑定到视图($this),我该如何管理它,因为每个事件的数据都会发生变化。 (约束:veranstaltung 1-n 个文档)。 最后一个,这个 partialLoop 自动做 look 对不对,比如显示对象中的所有数据?
如果你想打印传递给你的部分循环的数据内容,我认为你需要使用 $this->docid 等等,而不是 $dokument->docid。或者,您可以这样做,以便可以访问成员 $this->dokument->docid
<?php echo $this->partialLoop('/helpers/_docs-row.phtml', array('dokument' => $dokument));?>