gpt4 book ai didi

symfony1 - 交响乐 1.4。如何将模板渲染成字符串

转载 作者:行者123 更新时间:2023-12-02 22:38:24 26 4
gpt4 key购买 nike

我需要 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com