使用Shopify API,您可以为用户设置输入字段以调整主题,例如:
{
"type": "number",
"id": "products_per_page",
"label": "Products per page",
"default": 20
}显示页面主题管理面板边栏中的复选框。但是,用户可以设置无效的值,例如-2。
在这种情况下,据我所知,我可以更改液体文件以显示错误消息。
但是,问题是,当用户不会注意到错误时,其他用户就会看到错误。
所以我的问题是:如何验证Shopify主题设置?
是否有一种方法可以在输入字段旁边的侧边栏中显示错误消息,或者只向管理员显示液体中的错误消息?
发布于 2022-01-13 16:12:34
不幸的是,no: Shopify不允许通过管理工具对主题设置进行自定义验证。
如果要对主题设置中的任何输入强制执行约束,则仅限于可用数据类型的控件:
step。Shopify在最小和最大之间也有一个最大的100步点,所以如果你必须覆盖的范围足够大,这个选择不会覆盖你。如果这些有限的用例不能涵盖您的验证逻辑,那么不幸的是,您无法指定在主题设置更新期间执行的自己的验证公式。
但是,只有在主题自定义程序中才有一种(稍微有点麻烦的)显示错误的方法。
使用Shopify社区中共享的技巧,您可以检查content_for_header的内容,以测试在通过自定义程序预览查看主题时注入的脚本之一:
{% if content_for_header contains "Shopify.designMode" %}
Customizer
{% else %}
Live!
{% endif %}这将允许您编写一个代码段,它可以测试具有复杂验证逻辑的任何设置,并在主题自定义程序页面上显示一个大的ol‘错误栏,如果设置没有签出,同时又不警告实际站点上的任何购物者。
请注意,这将依赖于您测试要出现的注入代码--如果Shopify将来更新他们的代码注入,这个技巧将停止工作/需要更新以测试他们更新自定义程序代码注入到的任何内容。
https://stackoverflow.com/questions/70679328
复制相似问题