我有2页index.htm和links.htm以及部分sidebar.htm。
我试图让我的侧边栏根据index.htm或links.htm是否处于活动状态来显示不同的内容。
阅读文档,看起来好像你可以用param.tab做到这一点,但是我无法让它工作,也不确定这是否是实现这一目标的最佳方式,因为它是' sa部分。
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 %}
在我使用的刀片中 - @elseif(isset($ guidesslugs)&& $ guidesslugs-> guidesslug ==' area-guide')但我不知道如何完成同样的事情使用树枝或是否可以在部分使用param.tab?
答案 0 :(得分:4)
有多种方法可以做到。
首先,部分可能没有url
参数进入配置部分。
“部分”的“配置”部分是可选的,可以包含 可选的
description
参数,显示在后端用户中 接口
如果边栏具有基于同一页面的不同内容,则可以使用param
。例如:
信息页/ home.htm 强>
url = "/home/:type"
==
{% partial 'sidebar' type=this.param.type %}
<强>泛音/ sidebar.htm 强>
{% if type == 'foo' %}
{# foo type #}
{% elseif type == 'bar' %}
{# bar type #}
{% else %}
{# anything... #}
{% endif %}
当包含部分内容时,您可以传递变量,在这种情况下,我们将type
注入this.param.type
值。您还可以在partial:
this.param
(全局)变量
<强>泛音/ sidebar.htm 强>
{% if this.param.type == 'foo' %}
{# foo type #}
{% endif %}
如果我理解你的问题,你有两个不同的页面,每个页面都有自己独特的网址,所以似乎不是param
属性的情况。
使用this.page
变量。
您可以使用以下方式访问页面配置部分中定义的页面url
:
{{ this.page.url }}
此属性似乎隐藏在docs。
中所以考虑一下你的结构:
信息页/家强>
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 %}
正如我所说,有很多方法可以通过定义变量,将参数传递给partial和其他来实现。