我正在尝试创建一个页面,该页面将在选项卡式视图中显示多个用户窗体。例如基本联系方式,索取报价单等。
我以为可以创建新的页面类型并遍历子级以显示表单,但是$ Form变量无法呈现表单。
<% loop $Children %>
<div>
<h2>$Title</h2>
$Form
</div>
<% end_loop %>
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么吗,还是有其他方法可以在模板文件中使用其ID来呈现表单?
你可以尝试以下方法。
在页面持有者控制器中创建一个函数,以从特定子页面(必须是 UserDefinedForm 页面)获取表单。为此,您需要创建该子页面的控制器。
public function ChildForm($pageID) {
$page = UserDefinedForm::get()->byID($pageID);
$controller = UserDefinedForm_Controller::create($page);
return $controller->Form();
}
Run Code Online (Sandbox Code Playgroud)
之后,您将在循环中调用此函数并将当前子 ID 传递给它
<% loop $Children %>
<div>
<h2>$Title</h2>
$Top.ChildForm($ID)
</div>
<% end_loop %>
Run Code Online (Sandbox Code Playgroud)
这应该(代码未经测试)返回您想要的表单。
| 归档时间: |
|
| 查看次数: |
436 次 |
| 最近记录: |