使用viewhelpers和partialLoop进行树视图

时间:2015-10-20 20:02:44

标签: zend-framework treeview partial view-helpers zend-view

我尝试使用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会自动显示,就像显示对象中的所有数据一样?

1 个答案:

答案 0 :(得分:2)

如果你想打印传递给部分循环的数据内容,我认为你需要使用$ this-&gt; docid,依此类推,而不是$ dokument-&gt; docid。或者,您可以这样做,以便您可以访问成员$ this-&gt; dokument-&gt; docid

<?php echo $this->partialLoop('/helpers/_docs-row.phtml', array('dokument' => $dokument));?>