当我尝试从视图脚本调用操作时,我遇到了 Action View Helper 的问题。该视图位于 /views/scripts/home 中,它属于 HomeController,我想从 BookController 访问一个操作。
在我看来,我有以下代码:
foreach ($this->books as $book) {
if (!empty($book['asin'])) {
$bookObj = $this->action('get-book-by-asin', 'book', null,
array('asin' => $book['asin']));
在 getBookByAsinAction() 我想返回一个 $data 变量。如何将其作为对 Action View Helper 调用的响应发回?
我现在可以通过控制器中的 $books 变量进行foreach操作,而不是在我的视图中进行操作,但我只是好奇。或者,也许在将来,当特定操作可以生成更有用的可重用内容或“小部件化”内容时,我将使用 Action View Helper。
如果我从数据库查询中得到很多行,那么只做一个 foreach 而不是两个会更好吗?一个 foreach 将在 View 中,以正确呈现结果,我应该考虑在 Controller 中执行另一个 foreach 以检查一本书是否有 ASIN,然后调用例如 Web 服务。这是最佳解决方案吗?
还是按照描述的方式使用 Action View Helper 更好?