【发布时间】:2015-04-20 12:04:57
【问题描述】:
我在我的服务器上安装并配置了 SilverStripe。我安装了MultiForm module 并按照模块文档中的说明进行操作。
按照说明操作后,我的 CMS 门户中仍然没有看到任何新的页面类型。
我也尝试过db/build?flush=1 和dev/build?flush=1,但并没有什么不同。
我在mysite/code/ 目录中创建了以下文件
SponsorSignupForms.php
class SponsorSignupForms extends MultiForm{
protected static $start_step = 'CompanyDetailsStep';
}
CompanyDetailsStep.php
class CompanyDetailsStep extends MultiFormStep{
public static $next_steps = 'ContactDetailsStep';
function getFields()
{
$fields = singleton('Member')->getFrontendFields();
return $fields;
}
function getValidator()
{
return new Member_Validator('FirstName', 'Surname', 'Email', 'Password');
}
}
ContactDetailsStep.php
class ContactDetailsStep extends MultiFormStep{
public static $is_final_step = true;
function getFields()
{
$fields = singleton('Reference')->getFrontendFields();
return $fields;
}
}
如何让这些自定义 MultiForm 工作并显示为可创建的页面?
【问题讨论】:
-
我猜你使用的是 SilverStripe 3.1。注意 3.1
db/build?flush=1不会做任何事情。dev/build?flush=1应该为您构建任何数据库更改。当您致电dev/build?flush=1时,您是否看到“Environment Builder”屏幕? -
@3dgoo
dev/build?flush=1在这个屏幕上我找到了我的页面ContactDetailsStep和CompanyDetailsStep和SponsorSignupForms,但它没有显示在页面类型中,感谢编辑 -
@3dgoo 是的,我使用的是 silverstripe 3.1
标签: php registration silverstripe add-on