2016-02-26 60 views
1

我试图做的contentType具体路线,像the example in the bolt documentation如何使用多种内容类型的路线?

pagebinding: 
    path:   /{slug} 
    defaults: 
     _controller: 'Bolt\Controllers\Frontend::record' 
     'contenttypeslug': page 
    requirements: 
     'contenttypeslug': 'Bolt\Controllers\Routing::getAnyContentTypeRequirement' 

但(特别是“网页”和“用户”)在多个CONTENTTYPES操作。

换句话说,我希望做这样的事情:

pagebinding: 
    path:   /{slug} 
    defaults: 
     _controller: 'Bolt\Controllers\Frontend::record' 
     'contenttypeslug': page, user 
    requirements: 
     'contenttypeslug': 'Bolt\Controllers\Routing::getAnyContentTypeRequirement' 

这个特殊的例子不工作,给一个404错误时,例如找不到domain.tld/page, user/somepage

这样既domain.tld/somepagedomain.tld/username工作,
假设somepage是“页”记录的蛞蝓,以及username是“用户”记录的蛞蝓。

这可能吗?

回答

1

简单的答案:你不能。只能有一个内容类型为/{slug}

假设你有一个用户'x'和一个页面'x'。有人去'domain.tld/x',没有办法知道哪个是哪个。只需让用户有一个逻辑URL,如/user/x

+0

谢谢。我想也许有一种方法可以确保两种内容类型的slu were都是独一无二的(例如,当碰撞发生时附加一个数字),但我猜不是。 – gandalf3

相关问题