Php 如何在Silverstripe url_处理程序中不运行任何操作和单个变量?
我正在做一个项目,它有一个特殊的页面类型,可以检查一个250个字母数字字符串 理想情况下,我希望URL结构的工作方式如下: 但是,使用允许的_操作和url_处理程序的标准方式,只有在字母数字字符串前面加上“uid”才能使其工作-Php 如何在Silverstripe url_处理程序中不运行任何操作和单个变量?,php,silverstripe,Php,Silverstripe,我正在做一个项目,它有一个特殊的页面类型,可以检查一个250个字母数字字符串 理想情况下,我希望URL结构的工作方式如下: 但是,使用允许的_操作和url_处理程序的标准方式,只有在字母数字字符串前面加上“uid”才能使其工作- 是否可以让url\u处理程序只处理一个变量而不在自定义页面上执行任何操作?您可以在\u config.php中定义路由而不执行任何操作: 在CheckPage_控制器中,您可以在索引函数中捕获请求: public function index() { var_
是否可以让url\u处理程序只处理一个变量而不在自定义页面上执行任何操作?您可以在\u config.php中定义路由而不执行任何操作: 在CheckPage_控制器中,您可以在索引函数中捕获请求:
public function index() {
var_dump($this->request->allParams());die;
}
但是您应该知道,add路由捕获所有对/check/where的请求。因此,您需要为其他内容定义一个不同的url。假设您有一个带有$URLSEMENT“check”的页面类型“CheckPage”,并且一些数据对象处于多个关系中,您可以使用Nightjars扩展来使用这个URLSLAG方法,这非常优雅: ATM它不是现成的安装模块,而是您可以配置的控制器的扩展 如果您需要任何进一步的帮助,请提供有关您的代码结构的更多信息
Director::addRules(100, array(
'check/$UID' => 'CheckPage_Controller'
));
public function index() {
var_dump($this->request->allParams());die;
}