在将SS3转换为SS4时,我需要一些帮助。我想在其他页面以及默认的“联系人”页面上显示我的联系方式。我设法使其在SS3中工作,但在SS4中有所不同,我不确定如何编写函数或将其放置在何处。我尝试了很多组合和位置,但需要帮助。
在SS3中,我使用其字段创建了UserDefineForm页面。然后,将以下内容添加到我也希望表单也呈现的自定义页面中:
IndexIndex_Controller类扩展了Page_Controller {
// Sign up form
public function SignupForm(){
$get = DataObject::get_one('SiteTree', "URLSegment = 'contact-me'");
return new UserDefinedForm_Controller($get);
}
}
该函数在SS4中的什么位置/何处放置,以便使表单字段像在“联系我们”页面上一样显示在自定义页面模板上?
谢谢。
答案 0 :(得分:1)
下面的代码应该可以工作。
public function getSignupForm()
{
$page = \SilverStripe\UserForms\Model\UserDefinedForm::get()->filter('URLSegment', 'contact-me')->first();
$controller = \SilverStripe\UserForms\Control\UserDefinedFormController::create($page);
return $controller->Form();
}