silverstripe - 如何覆盖 SilverStripe 的用户定义表单的模板/视图
问题描述
我正在为学习目的开发一个简单的 SilverStripe 项目。我正在使用SilverStripe 用户定义表单模块来创建表单页面。
用户定义的表单模块在模板/视图中呈现表单的方式是在内容字段中使用 $UserDefinedForm 变量。现在,我需要对内置的用户定义表单模板进行一些自定义。所以我决定覆盖控制器和页面。
这是我的活动页面
<?php
namespace {
use SilverStripe\UserForms\Model\UserDefinedForm;
class EventPage extends UserDefinedForm
{
}
}
这是我的 EventPageController
<?php
namespace {
use SilverStripe\UserForms\Control\UserDefinedFormController;
class EventPageController extends UserDefinedFormController
{
}
}
这是我的 EventPage.ss
<h1>Event Page</h1>
$UserDefinedForm
此页面已被覆盖,但未呈现表单。如何呈现表单?
解决方案
一个完整的答案可能会有所帮助。联系页面.php
命名空间 InsiteApps\CMS\Model {
use SilverStripe\UserForms\Control\UserDefinedFormController;
use SilverStripe\UserForms\Model\UserDefinedForm;
class ContactPage extends UserDefinedForm
{
private static $table_name = 'ContactPage';
}
class ContactPageController extends UserDefinedFormController
{
}
}
在您的主题中,模板文件夹(文件夹结构取决于您的命名空间)
模板/InsiteApps/CMS/模型/布局/ContactPage.ss
<div class="contact-page-form">
$Form
</div>
推荐阅读
- python - flask 将 html 代码显示为原始字符串
- ruby - 如何通过包含变量名称的字符串引用变量?
- java - Java 泛型函数
- javascript - React js 转换为 typescript,添加数据到 const,interface
- javascript - Android Studio 向 webview 显示单个元素
- python - Python 3 中的停用词
- reactjs - TypeError:无法读取未定义 reactjs 的属性“绑定”
- android - 我们如何在android中增加按钮长按监听时间?
- javascript - 在“升级”到 select2 后向 dom 添加元素
- python - OpenCV + Python的手部识别脚本不起作用