Bolt CMS:路由不匹配,请尝试下一个路由



我有两种内容类型,但在这两种内容类型中我都不希望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所做的只是选中第一个选项,然后停止。 你必须编写一些函数,让它继续读取,直到找到想要的文件。

最新更新