如何覆盖SilverStripe用户定义表单的模板/视图

问题描述 投票:1回答:1

我正在出于学习目的开发一个简单的SilverStripe项目。我正在使用SilverStripe用户定义的表单模块https://github.com/silverstripe/silverstripe-userforms创建表单页面。用户定义的表单模块在模板/视图中呈现表单的方式是使用content字段中的$ UserDefinedForm变量。现在,我需要对内置的“用户定义的表单”模板进行一些自定义。因此,我决定覆盖控制器和页面。

这是我的EventPage

<?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

此页面已被覆盖,但未呈现该表单。请问我该如何呈现表格?

silverstripe silverstripe-4
1个回答
0
投票
命名空间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>

© www.soinside.com 2019 - 2024. All rights reserved.