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

如何在Liquid Templates中给变量分配Hashmap并正确访问?

原生Liquid模板引擎不支持直接使用{key: 'value'}的字面量语法给变量赋值哈希对象,你尝试的写法会被解析为无效语法,最终返回空字符串是符合原生Liquid行为的。

实现方案

方案1:原生Liquid通用实现(无扩展依赖)

通过分别定义键、值数组,用索引匹配的方式实现键值映射:

# 定义键数组和对应的值数组
{% assign translation_keys = "en,es" | split: "," %}
{% assign translation_values = "Hello,Hola" | split: "," %}

# 读取指定语言对应的翻译内容
{% assign target_key = "en" %}
{% assign key_index = translation_keys | indexOf: target_key %}
{{ translation_values[key_index] }}

输出结果为Hello。

方案2:使用JSON解析(支持json_parse过滤器的环境可用,比如Shopify Liquid、部分扩展版Liquid)

先将哈希内容写为符合规范的JSON字符串,再通过JSON解析过滤器转为对象:

{% assign translations = '{"en": "Hello", "es": "Hola"}' | json_parse %}
{{ translations.en }}

输出结果为Hello。

方案3:静态站点场景(如Jekyll等)

直接将哈希内容定义在数据配置文件中:

  1. 在站点_data目录下新建translations.yml,写入内容:
en: Hello
es: Hola
  1. 在模板中直接访问:
{{ site.data.translations.en }}

输出结果为Hello。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 12:39:03