首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何验证Shopify主题设置?

如何验证Shopify主题设置?
EN

Stack Overflow用户
提问于 2022-01-12 09:44:35
回答 1查看 569关注 0票数 3

使用Shopify API,您可以为用户设置输入字段以调整主题,例如:

代码语言:javascript
复制
{
  "type": "number",
  "id": "products_per_page",
  "label": "Products per page",
  "default": 20
}

显示页面主题管理面板边栏中的复选框。但是,用户可以设置无效的值,例如-2。

在这种情况下,据我所知,我可以更改液体文件以显示错误消息。

但是,问题是,当用户不会注意到错误时,其他用户就会看到错误。

所以我的问题是:如何验证Shopify主题设置?

是否有一种方法可以在输入字段旁边的侧边栏中显示错误消息,或者只向管理员显示液体中的错误消息?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-13 16:12:34

不幸的是,no: Shopify不允许通过管理工具对主题设置进行自定义验证。

如果要对主题设置中的任何输入强制执行约束,则仅限于可用数据类型的控件:

  • 范围:对于具有min/max的数字范围很好,但分辨率仅限于您指定的step。Shopify在最小和最大之间也有一个最大的100步点,所以如果你必须覆盖的范围足够大,这个选择不会覆盖你。
  • 选择:最好的文本选项,如果你有超过6-8个选项,它很快就会变得很麻烦。
  • 收音机:也是文本选项的最佳选择,而且只有在只有少数选择的情况下。

如果这些有限的用例不能涵盖您的验证逻辑,那么不幸的是,您无法指定在主题设置更新期间执行的自己的验证公式。

但是,只有在主题自定义程序中才有一种(稍微有点麻烦的)显示错误的方法。

使用Shopify社区中共享的技巧,您可以检查content_for_header的内容,以测试在通过自定义程序预览查看主题时注入的脚本之一:

代码语言:javascript
复制
{% if content_for_header contains "Shopify.designMode" %}
  Customizer
{% else %}
  Live!
{% endif %}

这将允许您编写一个代码段,它可以测试具有复杂验证逻辑的任何设置,并在主题自定义程序页面上显示一个大的ol‘错误栏,如果设置没有签出,同时又不警告实际站点上的任何购物者。

请注意,这将依赖于您测试要出现的注入代码--如果Shopify将来更新他们的代码注入,这个技巧将停止工作/需要更新以测试他们更新自定义程序代码注入到的任何内容。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70679328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档