路由config.yml

时间:2013-11-14 15:53:34

标签: silverstripe

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

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

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

在config.yml中,我添加了以下内容:

Name: mySite
After: framework/routes#coreroutes 
---
Director:
  rules:
    'detail/contact/$ID': 'ContactDetailPage_Controller'

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

class ContactDetailPage_Controller extends Page_Controller {
    private $id;

    public function init() {
       parent::init();
       $Params = $this->getURLParams();
       $URLSegment = Convert::raw2sql($Params['ID']);
       $this->id = $URLSegment;
   }

不幸的是,点击该链接会显示当前页面不存在的错误。

可能有什么不对? 谢谢

1 个答案:

答案 0 :(得分:0)

链接:

<a href="detail/contact/{$ID}">Details</a>

config.yml:

Director:
  rules:
    'detail//$Action/$ID': 'ContactDetailPage_Controller'

ContactDetailPage_Controller:

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

希望它有所帮助。