我有两种内容类型,但在这两种内容类型中我都不希望URL中的内容类型slug。因此,两种内容类型都应该匹配/{slug}
,但从不同的内容类型中获取内容。
所以我虽然,我创建了两条路线,如果第一条失败,它将尝试第二条:
# match on any landingpage created as a contenttype landingpage
landingpagebinding:
path: /{slug}
defaults:
_controller: controller.frontend:record
contenttypeslug: landingpage
contenttype: landingpage
# match on any actionpage created as a contenttype actionpage
actionpagebinding:
path: /{slug}
defaults:
_controller: controller.frontend:record
contenttypeslug: actionpage
contenttype: actionpage
所以我有:
- 登陆页面"/this-is-my-landingspage"
- 一个动作页面"/this-is-my-actionpage">
登陆页面正在工作,操作页面给出 404 错误
未找到登陆页面/这是我的操作页面。
为什么我在landingpagebinding
上得到 404?我预计它会继续到下一条路线,actionpagebinding
并试图匹配。如果也找不到,那么我想要一个 404 错误!
注意:我知道当两个内容类型具有相同的 slug 时,第一个将匹配。但这不是问题。
我对此也有同样的问题。 您必须编写一个函数,如果尚未找到下一个 slug,则拾取下一个 slug。
Bolt所做的只是选中第一个选项,然后停止。 你必须编写一些函数,让它继续读取,直到找到想要的文件。