我有一个ajax方法,它接受标签的id数组并进行一些处理以确保标签尚未使用。然后我需要将HTML发送回客户端,以便我可以使用javascript渲染标记。只需一个标签,调用
就相当简单$this->render('/Element/tag');
来自控制器的,因为'render'生成的响应的主体将包含元素的html。如何将我的标签数组转换为每个元素并将其发送回客户端?
答案 0 :(得分:0)
您只能拨打render
一次 - 将其视为仅指示哪个"查看"您希望在Controller代码的末尾使用。
如果您需要一个呈现多个标记的视图,您只需定义一个新视图,例如/src/Template/Tags/tags.ctp
。
您可以将任何想要的内容传递给您的视图(Tags/tags.ctp
文件),包括一系列标记:
$tags = ['Tag 1', 'Tag 2'];
$this->set('tags', $tags);
$this->render('Tags/tags');
然后在tags.ctp
内,使用标签元素渲染每一个:
<?php foreach ($tags as $tag) {
echo $this->element('tags', [
"tag" => $tag
]);
}