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

如何在Shopware App Script中获取应用配置?调用后始终返回null

解决Shopware App Script获取配置返回null的问题

以下是几个排查和解决方向:

  • 确认配置项定义与后台设置
    检查应用manifest.xml中的配置字段,确保name属性确实是myInt,示例配置定义:

    <config>
      <field type="int" name="myInt">
        <label>My Integer Config</label>
        <defaultValue>10</defaultValue>
      </field>
    </config>
    

    同时要确保在Shopware后台的应用配置页面,已经保存过该配置的值(即使是默认值,首次安装后可能需要手动保存一次才会写入数据库)。

  • 检查配置键的完整路径
    services.config.app()默认读取当前应用的配置,但如果存在命名空间冲突或上下文问题,直接传入键名可能无法匹配。可以尝试使用完整的配置键,格式为{应用技术名称}.myInt,比如应用技术名称是MyCustomApp:

    {# @var services \Shopware\Core\Framework\Script\ServiceStubs #}
    {% set myInt = services.config.app('MyCustomApp.myInt') %}
    

    应用技术名称要和manifest.xml里的name字段完全一致。

  • 验证脚本执行上下文与调试
    确保脚本在允许访问配置服务的钩子中执行,部分钩子可能有服务访问限制。可以在开发环境中添加调试代码,查看所有可用的应用配置:

    {# 仅在开发环境使用,输出所有应用配置 #}
    {% dump(services.config.app()) %}
    

    通过dump结果确认目标配置键是否存在。

  • 版本兼容性检查
    services.config.app()方法是Shopware 6.4.x及以后版本才支持的,如果你的Shopware版本较低,需要改用services.config.get()并传入完整配置键:

    {% set myInt = services.config.get('MyCustomApp.myInt') %}
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 13:45:02