Как мога да изведа дъщерен изглед с динамично генериран captureTo за addChild() в контролера

Предоставяне на следното ръководство: въведете описание на връзката тук

Доста лесно е да имам дъщерен изглед и да го повторя, когато знам, че captureTo се използва в контролера (напр. "<?php echo $this->article ?>"), но мога ли да направя подобно, когато генерирам модели на изглед динамично и ги присвоявам на динамично генериран captureTo за addChild() функция:

        foreach ($studentEvaluations as $studEval) {

            $studEvalId = $studEval->getEvalId();
            $formViewModel = $this->buildStudentEvaluationViewModel($studEval);
            $viewModel->addChild($formViewModel,  $studEvalId);
        }

Пробвах следното, но не става:

    <?php foreach ($this->viewModel()->getCurrent()->getIterator() as $studId => $studEval) : ?>
        <tr>
            <td><?php echo $this->escapeHtml($studEval->fname); ?></td>
            <td><?php echo $this->escapeHtml($studEval->lname); ?></td>
            <td><?php echo $this->escapeHtml($studEval->formName); ?></td>
            <td><?php echo $this->escapeHtml($studEval->supdated); ?></td>
            <td><?php echo $this->escapeHtml($studEval->screated); ?></td>
            <td>

                <button class="btn btn-primary btn-lg"
                        data-toggle="modal"
                        data-target="#myModal<?php echo $studId; ?>"
                        data-loading-text="Loading..."> Edit
                </button>

                <!-- Modal -->
                <div class="modal fade" id="myModal<?php echo $studId; ?>" tabindex="-1" role="dialog"
                     aria-labelledby="myModalLabel" aria-hidden="true">
                    <div class="modal-dialog">
                        <div class="modal-content">
                            <div class="modal-header">
                                <button type="button" class="close" data-dismiss="modal"
                                        aria-hidden="true">&times;</button>
                                <h4 class="modal-title" id="myModalLabel">Modal title</h4>
                            </div>
                            <div class="modal-body">
                                <p> 

<!-- HERE ->>>>>>>>> -->               <?php echo $studEval ?> 

                                </p>
                            </div>
                            <div class="modal-footer">
                                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                                <button type="button" class="btn btn-primary">Save changes</button>
                            </div>
                        </div>
                    </div>
                </div>
                                </td>


        </tr>
    <?php endforeach; ?>

РЕДАКТИРАНЕ 1

Това е грешка, когато се опитам да изведа изгледа по следния начин:

Catchable fatal error: Object of class Zend\View\Model\ViewModel could not be converted to string in C:\dev\projects\OnlineFieldEvaluation\module\OnlineFieldEvaluation\view\online-field-evaluation\online-field-evaluation\test3.phtml on line 62

person vlr    schedule 30.11.2014    source източник


Отговори (1)


Намерих как да го направя. Просто имах късмет с познанията по PHP:

   <?php foreach ($this->viewModel()->getCurrent()->getChildren() as $studEval) : ?>
        <tr>
            <td><?php echo $this->escapeHtml($studEval->fname); ?></td>
            <td><?php echo $this->escapeHtml($studEval->lname); ?></td>
            <td><?php echo $this->escapeHtml($studEval->formName); ?></td>
            <td><?php echo $this->escapeHtml($studEval->supdated); ?></td>
            <td><?php echo $this->escapeHtml($studEval->screated); ?></td>
            <td>

                <button class="btn btn-primary btn-lg"
                        data-toggle="modal"
                        data-target="#myModal<?php echo $studEval->captureTo(); ?>"
                        data-loading-text="Loading...">

                    Edit <?php echo $studEval->captureTo(); ?>

                </button>

                <!-- Modal -->
                <div class="modal hide fade" id="myModal<?php echo $studEval->captureTo(); ?>" tabindex="-1"
                     role="dialog"
                     aria-labelledby="myModalLabel" aria-hidden="true">
                    <div class="modal-dialog">
                        <div class="modal-content">
                            <div class="modal-header">
                                <button type="button" class="close" data-dismiss="modal"
                                        aria-hidden="true">&times;</button>
                                <h4 class="modal-title" id="myModalLabel">Modal title</h4>
                            </div>
                            <div class="modal-body">
                                <p>
                                    <?php

                                    echo $this->{$studEval->captureTo()};

                                    ?>
                                </p>
                            </div>
                            <div class="modal-footer">
                                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                                <button type="button" class="btn btn-primary">Save changes</button>
                            </div>
                        </div>
                    </div>
                </div>

            </td>


        </tr>
    <?php endforeach; ?>
person vlr    schedule 01.12.2014