Silverstripe Rouves无法访问正确的控制器

时间:2016-07-06 18:29:54

标签: php controller routing silverstripe

我使用Silverstripe 3.4.0构建了一个网站,该网站应对各种帖子进行排序和汇总。我没有尝试构建控制器操作以将这些后期数据对象显示为页面。但是,我似乎无法通过测试我的功能来实际显示帖子。

帖子应该属于具有自己父页面的TopicAggPage。因此,所有帖子链接的结构应为www.domain.org/parentpage/childpage/post/$ID

以下是相关代码:

routes.yml:

      ---
      Name: mysiteroutes
      After: framework/routes#coreroutes
      ---
      Director:
        rules:
          '$Controller//$Action/$ID/$OtherID': '*'

TopicAggPage.php:

    class TopicAggPage_Controller extends Page_Controller {

        private static $allowed_actions = [
            'post',
        ];

        private static $url_handlers = [
            'post/$Slug' => 'post'
        ];
    }

问题是,使用上面结构化的url并不会将我引导到TopicAggPage_Controller。我可以使用www.domain.org/TopicAggPage_Controller/post/$ID访问控制器,但这不是网址应该寻找网站的方式。

我很困惑为什么来自Silverstripe IRC的其他人能够以相同的代码以我想要的方式工作,但我的需要控制器名称。特别是因为我在控制器本身中设置了url_handler的备份选项。任何指导都将不胜感激。

0 个答案:

没有答案