You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shopware 6 SEO友好分页插件:app.request.get('properties')返回null求助

问题排查与修复方案

原因分析

Shopware 6 中,属性筛选的properties参数不会直接暴露在app.request的顶层查询参数里。因为筛选参数会经过Shopware搜索逻辑处理,最终封装到分页组件的routeParameters上下文中,而非以原始query参数形式直接通过app.request.get()获取。

修复方案

在你的pagination.html.twig模板里,别直接从app.request取参数,而是通过分页对象的routeParameters获取包含筛选、排序的所有上下文参数:

1. 生成完整SEO友好分页URL

如果要生成包含当前所有筛选、排序规则的分页URL,直接复用page.routeParameters即可,示例代码:

{% for pageItem in page.items %}
    <a href="{{ path('frontend.product.listing.page', page.routeParameters|merge({'p': pageItem.page})) }}" style="display:none;">Page {{ pageItem.page }}</a>
{% endfor %}

page.routeParameters已经包含了properties、order等所有当前页面的筛选排序参数,合并分页页码后就能生成符合SEO规范的URL。

2. 单独提取properties参数

如果需要单独获取properties参数,直接从routeParameters中读取:

{% set properties = page.routeParameters.properties ?? null %}
{# 后续可直接使用properties变量 #}

关于properties参数获取的疑问

完全可以像获取order参数一样获取properties,但必须通过分页对象的routeParameters上下文,而非app.request。Shopware渲染分页组件时,已经把当前页面的所有筛选、排序参数注入到page.routeParameters中,这个集合是专门用于生成分页相关URL的标准化参数集合。

内容的提问来源于stack exchange,提问作者mlodhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 03:19:55