如何使用多种内容类型的路线?
问题描述:
我试图做的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/somepage
和domain.tld/username
工作,
假设somepage
是“页”记录的蛞蝓,以及username
是“用户”记录的蛞蝓。
这可能吗?
答
简单的答案:你不能。只能有一个内容类型为/{slug}
。
假设你有一个用户'x'和一个页面'x'。有人去'domain.tld/x',没有办法知道哪个是哪个。只需让用户有一个逻辑URL,如/user/x
。
谢谢。我想也许有一种方法可以确保两种内容类型的slu were都是独一无二的(例如,当碰撞发生时附加一个数字),但我猜不是。 – gandalf3