Sulu:如何确定当前页面是搜索页面?
Sulu: How do I determine, that the current page is the search page?
当我 运行 标准搜索时,例如 /search?q=querystring
可用的 url 指向根:
// dump of the twig url variable:
array:1 [▼
"de" => "/"
]
这导致我的菜单突出显示主页 link,这当然是不正确的 ;) - 是否有区分搜索页面和实际首页的好方法?
这对我来说似乎是一个错误,但您可以使用 path
变量来检查它是否真的是一个页面模板,例如
{% if path is defined %}
不要让路径变量的内容混淆了它在 phpcr 树中的内容页面的位置,因此它不代表 url。在某些情况下,它确实匹配 url。在大多数情况下,路径变量是检查一个页面是否是另一个页面的子页面的好方法,如果您使用其他资源定位器策略作为默认树策略也是如此。
例如如果您创建导航:
{% for page in sulu_navigation_root_tree('main') %}
{% set addClass = '' %}
{% if page.path starts with path|default() %}
{% set addClass = 'is-active-parent' %}
{% elseif page.uuid == uuid|default() %}
{% set addClass = 'is-active' %}
{% endif %}
{# ... #}
{% endfor %}
当我 运行 标准搜索时,例如 /search?q=querystring
可用的 url 指向根:
// dump of the twig url variable:
array:1 [▼
"de" => "/"
]
这导致我的菜单突出显示主页 link,这当然是不正确的 ;) - 是否有区分搜索页面和实际首页的好方法?
这对我来说似乎是一个错误,但您可以使用 path
变量来检查它是否真的是一个页面模板,例如
{% if path is defined %}
不要让路径变量的内容混淆了它在 phpcr 树中的内容页面的位置,因此它不代表 url。在某些情况下,它确实匹配 url。在大多数情况下,路径变量是检查一个页面是否是另一个页面的子页面的好方法,如果您使用其他资源定位器策略作为默认树策略也是如此。
例如如果您创建导航:
{% for page in sulu_navigation_root_tree('main') %}
{% set addClass = '' %}
{% if page.path starts with path|default() %}
{% set addClass = 'is-active-parent' %}
{% elseif page.uuid == uuid|default() %}
{% set addClass = 'is-active' %}
{% endif %}
{# ... #}
{% endfor %}