Silverstripe 路由配置.yml

Silverstripe 路由配置.yml,silverstripe,Silverstripe,我有一个包含联系人的联系人页面。单击联系人时,应显示包含此联系人信息的详细页面 详细信息页面在常规联系人页面中调用: <a href="{$Top.URLSegment}/contact/{$ID}">Details</a> //联系人详细信息控制器 class ContactDetailPage_Controller extends Page_Controller { private $id; public function init() {

我有一个包含联系人的联系人页面。单击联系人时,应显示包含此联系人信息的详细页面

详细信息页面在常规联系人页面中调用:

 <a href="{$Top.URLSegment}/contact/{$ID}">Details</a>

//联系人详细信息控制器

class ContactDetailPage_Controller extends Page_Controller {
    private $id;

    public function init() {
       parent::init();
       $Params = $this->getURLParams();
       $URLSegment = Convert::raw2sql($Params['ID']);
       $this->id = $URLSegment;
   }
不幸的是,单击链接时,出现一个错误,即当前页面不存在

有什么不对劲吗? 谢谢你链接:

<a href="detail/contact/{$ID}">Details</a>
ContactDetailPage\u控制器:

private static $allowed_actions = array(
    'contact'
);
public function contact( $arguments ) {
    var_dump( $arguments->allParams() );
}

希望有帮助。

谢谢!我创建了一个ContactDetailPage.ss-但是通过调用上面的Details链接,我得到了一个空白页面,它只提供了带有传递参数的数组。如何调用正确的.ss(分配正确的模板)?
Director:
  rules:
    'detail//$Action/$ID': 'ContactDetailPage_Controller'
private static $allowed_actions = array(
    'contact'
);
public function contact( $arguments ) {
    var_dump( $arguments->allParams() );
}