首页 > 解决方案 > Bigcommerce 如果对 URL 的条件检查不起作用

问题描述

你能建议我下面的代码有什么问题吗?

{{#if url '===' (first (split (last (split head.meta_tags "href='")) "'")) }}
activePage
{{/if}}

如果考虑的 URL 等于当前页面 URL,我需要在标题导航中添加一个条件。

但我总是得到错误的值。

先感谢您。

标签: bigcommerce

解决方案


url 不是全局对象,这向我表明您处于某种非全局上下文中(可能是每个循环)。您需要使用“../”(或多个,取决于您的深度)返回到全局上下文。因此,您的代码将如下所示:{{#if url '===' (first (split (last (split head.meta_tags "href='")) "'")) }} activePage {{/if}}

但是,您可能会遇到像这样拆分元标记的问题。我建议改用面包屑。{{#contains ../breadcrumbs.1.url url}} activePage{{/contains}}.

最后,如果您在此处的组件中,您可能永远无法单独使用“../”访问全局上下文。您可以尝试改用@root标志。{{#contains @root.breadcrumbs.1.url url}} activePage{{/contains}}.

如果这仍然不起作用,您将需要将面包屑对象传递给组件,但为了给您在这里使用的代码,我需要进一步了解流程。本质上,它看起来像这样:{{> components/menu/menu-item breadcrumbs=../breadcrumbs}}


推荐阅读