Php 螺栓重复路线
是否可能在螺栓cms中有重复路线?我在routing.yml中做了一条路线,看起来像这样Php 螺栓重复路线,php,silex,bolt-cms,Php,Silex,Bolt Cms,是否可能在螺栓cms中有重复路线?我在routing.yml中做了一条路线,看起来像这样 language: path: /{locale}/{slug} defaults: { _controller: controller.frontend:template, template: 'page.twig' } 它使用前端控制器上的模板函数呈现page.twig。因此,当我以这种方式转储page.twig中的变量时 {{ dump(app.request.get('locale
language:
path: /{locale}/{slug}
defaults: { _controller: controller.frontend:template, template: 'page.twig' }
它使用前端控制器上的模板函数呈现page.twig。因此,当我以这种方式转储page.twig中的变量时
{{ dump(app.request.get('locale')) }}
{{ dump(app.request.get('slug')) }}
这将输出
"en"
"stackoverflow"
但我想要一条这样的重复路线
language:
path: /{locale}/{slug**}
defaults: { _controller: controller.frontend:template, template: 'page.twig' }
因此,当我访问url时,如:
bolt.dev/en/slug1/slug2
我将在视图中收到一个名为slug的数组,它将输出
[slug1, slug2]
Bolt在引擎盖下使用Symfony布线,并且没有阵列参数的概念 您可以做的是在您的区域设置之后捕获整个url,然后将其拆分为细枝,以便:
language:
path: /{locale}/{slug}
defaults:
_controller: controller.frontend:template
template: 'page.twig'
requirements:
slug: .+
这允许斜杠作为slug的一部分被捕获,因此假设您的url是/en/slug1/slug2
,然后执行app.request.get('slug')
将返回slug1/slug2
,然后您可以将其拆分为细枝:
{% for slug in app.request.get('slug')|split('/') %}
{{ slug }}
{% endfor %}
不要使用截图来注入源代码。这是不可搜索的。