Как я могу вывести дочернее представление с динамически сгенерированным 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

0

Решение

Я нашел, как это сделать. Это была просто моя удача в знании 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; ?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]