请参阅以下内容类型:
package(default_visibility = ["//visibility:public"])
filegroup(
name = "mapit_files",
srcs = glob(
[
"**/*",
],
exclude = [
"**/LICENSE",
"**/*.zip",
],
),
)
load("@//conf:general_yml.bzl", "general_yml")
general_yml(
name = 'generate_general_yml',
bzl_mapit_db_user = 'foo',
)
filegroup (
name = 'mapit_general_yml',
srcs = ['conf/general.yml'],
data = ['@//conf:general.yml.tmpl'],
)
我不希望博客显示为pages:
name: Pages
singular_name: Page
fields:
# etc
blogitems:
name: Blogitems
singular_name: Blog
fields:
# etc
,而是将/blog/slug
显示为网页。
如何在路线中正确定义?在我最后一次尝试时,我提出了这个,它在正常页面上返回错误:
slug
问题是,当我两个都离开时,上面的第一个会起作用,但下面的那个不会。
谁可以阐明这一点,因为遗憾的是,这里没有记录:https://docs.bolt.cm/3.4/configuration/routing#
答案 0 :(得分:2)
Silex / Symfony中的路由是基于正则表达式的,匹配是二进制的,所以不幸的是,一旦路由匹配,那么唯一的一个将被运行,因此第一个路由匹配而第二个路由被忽略。
没有办法做你想要的开箱即用 - 要实现它你需要将第一场比赛指向你自己的控制器方法,而不是你自己的方法中的默认controller.frontend:record
循环遍历你想要支持的内容类型,并一直寻找,直到你找到一个匹配的slug而不管内容类型。
Bolt无法将此作为标准功能支持,因为它会在边缘情况下引起相当多的复杂化,例如,如果一个slug在多个内容类型中可用,或者后端是否应该允许某些内容类型,则如何表现产生相同的slu ..