Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.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 根据页面url显示不同的边栏内容-10月CMS_Php_Symfony_Twig_Octobercms - Fatal编程技术网

Php 根据页面url显示不同的边栏内容-10月CMS

Php 根据页面url显示不同的边栏内容-10月CMS,php,symfony,twig,octobercms,Php,Symfony,Twig,Octobercms,我有两个页面index.htm和links.htm以及一个部分边栏.htm 我试图让侧边栏根据index.htm或links.htm是否处于活动状态显示不同的内容 通过阅读文档,您似乎可以使用param.tab完成此操作,但我无法让它工作,也不确定这是否是完成此操作的最佳方法,因为这是一个部分 侧边栏.htm description = "sidebar" url = "/sidebar/:{% this.page.url %}" == {% if this.param.tab == 'link

我有两个页面index.htm和links.htm以及一个部分边栏.htm

我试图让侧边栏根据index.htm或links.htm是否处于活动状态显示不同的内容

通过阅读文档,您似乎可以使用param.tab完成此操作,但我无法让它工作,也不确定这是否是完成此操作的最佳方法,因为这是一个部分

侧边栏.htm

description = "sidebar"
url = "/sidebar/:{% this.page.url %}"
==
{% if this.param.tab == 'links' %}
Display this if page = links
{% elseif this.param.tab == 'index' %}
Display this is page = index
{% endif %}
在blade中,我使用了-@elseifisset$guidessluges&&$guidessluges->guidessluge=='area guide',但我不确定如何使用细枝来完成同样的事情,或者是否可以在局部使用param.tab?

有多种方法

首先,partials在config节中可能没有url参数

配置部分是可选的,可以包含 显示在后端用户界面中的可选描述参数 接口

如果侧边栏基于同一页面具有不同的内容,则可以使用param。例如:

pages/home.htm

partials/sidebar.htm

description = "sidebar"
url = "/sidebar/:{% this.page.url %}"
==
{% if this.param.tab == 'links' %}
Display this if page = links
{% elseif this.param.tab == 'index' %}
Display this is page = index
{% endif %}
当包含部分时,您可以传递变量,在本例中,我们将类型作为this.param.type值注入。您还可以在以下部分中访问此.param全局变量:

partials/sidebar.htm

description = "sidebar"
url = "/sidebar/:{% this.page.url %}"
==
{% if this.param.tab == 'links' %}
Display this if page = links
{% elseif this.param.tab == 'index' %}
Display this is page = index
{% endif %}
如果我理解你的问题,你有两个不同的页面,每个页面都有自己不同的url,所以似乎不适合param属性

使用此.page变量

您可以通过以下方式访问页面配置部分中定义的页面url:

{{ this.page.url }} 
这个属性似乎是隐藏的

因此,考虑到您的结构:

网页/主页

页面/链接

部分/侧栏


正如我所说,有很多方法可以通过定义变量、将参数传递给partial和其他人来实现这一点。

谢谢,如果this.page.url=='/home%}似乎有效,那么我将继续尝试
{{ this.page.url }} 
url = "/home"
layout = "default"
==
{% partial 'sidebar' %}
url = "/links"
layout = "default"
==
{% partial 'sidebar' %}
{% if this.page.url == '/home' %}
  {# home page #}
{% elseif this.page.url == '/links' %}
  {# links page #}
{% else %}
  {# other pages #}
{% endif %}