作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要 symfony 1.4 操作,它将接收模板名称列表作为参数,并将这些呈现的模板作为 JSONed 哈希返回。这是代码:
foreach ($templateNames as $templateName)
$result[$templateName] = $this->getController()->getPresentationFor($this->getModuleName(), $this->getActionName(), $templateName);
该代码导致“检测到此请求的转发太多。”要抛出的异常。我认为这是因为 getPresentationFor 创建了对相同模块和操作的内部请求。所以问题是我怎样才能实现我的目标并获得多个模板呈现和返回?
PS:我正在使用现有系统,所以我不能使用部分或组件,只能使用模板。
最佳答案
试试这个:
$view = $this->getController()->getView($this->getModuleName(), $this->getActionName(), sfView::SUCCESS);
$view->execute();
$view->getAttributeHolder()->add($this->getVarHolder()->getAll());
$result[$templateName] = $view->render();
我个人扩展了 sfAction 以包含一个 getPresentation 方法:
<?php
abstract class kfAction extends sfAction {
public function getPresentation($viewName = sfView::SUCCESS) {
$view = $this->getController()->getView($this->getContext()->getModuleName(), $this->getContext()->getActionName(), $viewName);
$view->execute();
$view->getAttributeHolder()->add($this->getVarHolder()->getAll());
return $view->render();
}
}
关于symfony1 - 交响乐 1.4。如何将模板渲染成字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11098937/
我是一名优秀的程序员,十分优秀!