Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 螺栓重复路线_Php_Silex_Bolt Cms - Fatal编程技术网

Php 螺栓重复路线

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

是否可能在螺栓cms中有重复路线?我在routing.yml中做了一条路线,看起来像这样

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 %}

不要使用截图来注入源代码。这是不可搜索的。