0

我有这个 html 部分用于组合一个 html 选项框,当我知道我需要创建的 html 选项框的数量时,它的效果很好。

控制器:

    $formView = new ViewModel();  
    $formView->setTemplate('bns/questionnaires/forms/simple_scale_radio_form');

    $optionView = new ViewModel(array('name'=>'name 1'));
    $optionView->setTemplate('bns/questionnaires/forms/options_personality_profile');
    $formView->addChild($optionView, 'option_0');

看法:

    <?php echo $this['option_0'] ?>

但是,现在我正在从数据库中动态构建这个 html 选项框,如果我想这样做,我正在考虑使用以下代码

控制器:

$formView = new ViewModel(array('count'=>3));
$formView->setTemplate('bns/questionnaires/forms/simple_scale_radio_form');

    $optionView = new ViewModel(array('name'=>'name 1'));
    $optionView->setTemplate('bns/questionnaires/forms/options_personality_profile');
    $formView->addChild($optionView, 'option_0');

    $optionView = new ViewModel(array('name'=>'name 2'));
    $optionView->setTemplate('bns/questionnaires/forms/options_personality_profile');
    $formView->addChild($optionView, 'option_1');

    $optionView = new ViewModel(array('name'=>'name 3'));
    $optionView->setTemplate('bns/questionnaires/forms/options_personality_profile');
    $formView->addChild($optionView, 'option_2');

看法:

<?php 
        for ( $i = 0; $i < $count; $i++) {
            echo $this['option_' . $i];
        }
?>

但是,PHP 会抛出这个错误:Cannot use object of type Zend\View\Renderer\PhpRenderer as array

我有哪些选择?

提前致谢!

干杯,

贾斯汀

4

1 回答 1

0

K,所以,我想我把情况复杂化了。使用 partial 的替代方法是使用 partialLoop:

http://framework.zend.com/manual/2.0/en/modules/zend.view.helpers.html#partial-helper

干杯!

贾斯汀

于 2013-08-04T02:36:57.260 回答