【发布时间】:2018-06-04 22:56:11
【问题描述】:
我想为我的 Jekyll 网站使用 Netlify CMS,我有这样的布局:
{% for skills in page.skills %}
<div class="guide-skill">
<div class="guide-skill-fill">
{% for i in (1..15) %}
<div class="{% if skills.levels contains i %}fill{% endif %} skill-check"><p>{{ i }}</p></div>
{% endfor %}
</div>
</div>
{% endfor %}
以及我在使用此布局的文本编辑器中编写的页面的前端:
skills:
- levels:
- 1
代码运行良好,fill 类已正确添加。
但是当我使用带有列表小部件的 Netlify CMS 时,它会向 levels 列表返回字符串而不是数字,如下所示:
skills:
- levels:
- '1'
所以代码不起作用,如何让它返回数字?
我尝试过的
- 引用
i,但它给了我一个错误 - 使用
valueType : "int",无效
我的配置
- label: "Hero Skills"
name: "skills"
widget: "list"
required: false
fields:
- {label: "Skill Number", name: "number", widget: "number"}
- {label: "Levels", name: "levels", widget: "list"}
【问题讨论】:
-
当你查看你的frontmatter时,你会得到数字周围的引号吗?
-
在 CloudCannon 中可以非常优雅地解决这个问题:docs.cloudcannon.com/editing/front-matter/#number
-
@talves 是的....
-
您实际上并没有使用数字小部件 - 您在列表小部件中输入值,它只输出字符串。如果您将数字字段嵌套在列表字段中,您将获得一个对象列表,这仍然不是您想要的。开始怀疑 Netlify CMS 是否需要允许通过位于小部件和输出之间的转换器修改单个值。或者使
valueType配置选项成为由多个小部件实现的约定。
标签: jekyll netlify netlify-cms