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