我有一个获取项目列表并输出JSON Feed的操作,但是对于JSON Feed中的每个项目,我需要输出一个'内容'键值从模板设置为HTML(用项目的当前值填充)。
(它是带有传单JS的弹出标记)
JSON:
{
1: {
id: 1,
lat: "30.0000",
lng: "7.0000",
content: "TO DO HTML"
},
2: {
id: 2,
lat: "42.2300",
lng: "5.5600",
content: "TO DO HTML"
},
}
所以我需要填写内容,以便它看起来更像:
{
1: {
id: 1,
lat: "30.0000",
lng: "7.0000",
content: "<div id='item_1'><h1>Title of item 1</h1><div id="description">item 1 description from $list doctrine entity</div></div>"
},
2: {
id: 2,
lat: "42.2300",
lng: "5.5600",
content: "<div id='item_2'><h1>Title of item 2</h1><div id="description">item 2 description...</div></div>"
},
}
但我不知道如何正确设置?我有一个phtml文件,但不确定如何做,我的基本理解是做类似的事情:
foreach($list as $key => $item) {
$view = new View('myPhtml');
$view->setVariables('data', $item);
$json[$key]['content'] = $view;
}
答案 0 :(得分:1)
public function fooAction()
{
$renderer = $this->getServiceLocator()->get('ViewRenderer');
$json = array();
foreach($list as $key => $item) {
$json[$key] = $item;
$content = new ViewModel(array('data' => $item));
$content->setTempalte('module/foo/bar');
$json[$key]['content'] = $renderer->render($content);
}
return new JsonModel($json);
}