Bolt CMS:路线不匹配,尝试下一条路线

时间:2017-02-13 12:29:23

标签: url-routing bolt-cms

我有两种内容类型,但我不想在URL中使用contenttype slug。因此,两个contenttypes应匹配/{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错误

  

landingpage / this-is-my-actionpage not found。

为什么我在landingpagebinding上获得404?我预计它会继续到下一个路线actionpagebinding并尝试匹配。如果还没找到,那我想要404错误!

注意:我知道当两个内容类型具有相同的slug时,第一个将匹配。但这不是问题。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。你必须编写一个函数来获取下一个slug如果找不到之前的那个。

什么螺栓只是检查第一个选项然后停止。你必须编写一些函数,让它继续阅读,直到找到想要的文件。