2017-02-13 113 views
0

我有两种内容类型,但都不希望URL中的contenttype slug。所以这两种内容类型应该匹配/{slug},但从不同的内容类型中获取内容。Bolt CMS:路由不匹配,请尝试下一条路由

所以我虽然,我创建了两条路线,如果第一个失败,它会尝试第二:

# 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 

所以我必须:

  • 一个的LandingPage“/这 - 是 - 我的-landingspage”
  • 一个actionpage “/这 - 是 - 我 - actionpage”

的的LandingPage工作时,actionpage给人以404错误

登录页面/这是我的行动页面未找到。

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

注意:我知道,当两个contenttypes有相同的slu,,第一个将匹配。但这不是问题。

回答

0

我对此有同样的问题。你将不得不写一个函数来拾取下一个slu if,如果前一个没有找到。

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