Silverstripe URL 映射

Silverstripe URL Mapping

我正在尝试了解 URL 映射的工作原理。我浏览了很多页,但我似乎无法全神贯注于我正在尝试做的事情。

它真的很简单,我使用 DataObjects 作为页面方法并且我有一个写给成员的成员扩展 class。我有典型的动作,显示,编辑,添加。

所以如果我去 www.mywebsite.com/members/show/1 我可以看到第一个用户。如果我将显示更改为编辑,我可以编辑第一个用户。现在,如果我转到 www.mywebsite.com/members/add,我可以创建一个新用户。由于我在 add 方法中创建的功能,这一切都按预期工作。

我的问题是,当你访问任何网站时,你不会通过访问 members/add 来注册网站,而是通过访问网站 com/Register 或类似的网站进行注册.从代码管理的角度来看,让代码保持原样对我来说要容易得多。我不想创建一个注册页面并将代码移到那里,而是想弄清楚是否可以转到 www.mywebsite.com/Register 并加载它 www.mywebsite.com/members/add.我不是在谈论将更新 url 的重定向 link,我希望用户仍然在 url 中看到 Register 而看不到 /members/add.

反之亦然,如果用户要去 www.mywebsite。com/members/add 我希望 link 更新到注册或说找不到页面。

Silverstripe 框架可以做到这一点吗?

我不是 100% 确定,但我相信这叫做 URL 掩蔽。

很有可能,首先建议你看一下...

silverstripe-memberprofiles

...因为即使您不想使用现有模块,我也确信会有有用的信息。有一个 "pure" 路由(即 silverstripe no cms)通向 "nested" 路由的一个很好的例子 - 这就是我认为你所要求的,所以我强烈建议阅读下面的幻灯片然后创建了待办事项应用

silverstripe-framework-building-without-the-cms

todo app source