使用settings_data.json了解Shopify主题样式和预设

使用settings_data.json Shopify主题样式和预设

为Shopify主题构建自定义预设可能非常有用,特别是如果您的主题可能被许多商家使用,并且您希望在使用主题时策划他们的体验。

您很可能已经登陆这里,因为您一直在寻找自定义您的Shopify主题的主题设置,并偶然发现了两个文件配置目录-settings_schema.jsonsettings_data.json.本文将研究两者之间的区别settings_schema.jsonsettings_data.json.的各种用法和细微差别settings_data.json文件。

什么是主题设置?

主题设置——也称为主题选项-允许商家自定义其在线商店的外观和感觉欧宝体育官网入口首页.主题设置由构建主题的主题开发人员预先确定。它们被构建并存储在配置目录中settings_schema.json文件。控件中菜单的组织和内容主题编辑器

settings_schema.jsonvs。settings_data.json

settings_schema.json控件中商家可用的组织和选项主题编辑器.它用于创建和编辑主题内商家可用的主题设置。主题设置遵循指定的文件格式Shopify文档中概述的。

settings_data.json文件存储从主题编辑器保存的主题设置数据。它还可以包括“主题样式”,也被称为预设.如果预设定义,它使商家能够选择由主题开发人员预先确定的主题样式。元素中定义的键设置特定的值settings_schema.json文件。

挖掘settings_data.json

让我们来看看settings_data.json.查看settings_data.json文件中找到的大多数免费主题Shopify主题商店你会注意到它被分成了两个不同的物体;当前的预设

使用settings_data.json Shopify主题样式和预设- current object

当前的

如上所示,当前的对象包含当前主题设置的数据。这些是当前在主题编辑器中设置的值。主题只使用存储在当前的

主题样式又名预设

在Debut主题中预设对象包含两种不同主题样式的数据,默认的.可以使用主题编辑器应用这些主题样式。

因为主题只使用存储在当前的,则应用的任何预设都只是更新中的值当前的与预设的匹配。重要的是要注意,有一些输入值不会通过主题样式更新。这些都与特定的输入类型有关。

你可能还喜欢:创建动态配色方案与主题选项和预设。

用主题样式覆盖表示值并保留内容

关于预设的一个真正伟大的事情是,当涉及到更新内容时,Shopify处理一些涉及的逻辑。

想象一下,你是一个商人,你花了很多时间来定制你网站的内容,比如更新你网站的标志,改变你主页上的图片。然后你决定你不喜欢默认的主题,我宁愿选择的版本。如果商人不得不再次输入所有内容,这将是一种糟糕的体验,特别是当他们想要改变的只是使用的主题风格时。

这就是保留特定输入类型变得重要的地方。Shopify只会用主题样式覆盖它认为具有表现价值的内容。Shopify不会用主题样式覆盖内容值。

“Shopify只会用主题风格覆盖它认为具有表现价值的内容。Shopify不会用主题样式覆盖内容值。”

现有的输入类型包括:

这些是被列入白名单的输入类型,被认为是表示的,并且被覆盖当通过主题编辑器应用主题样式时:

这些输入类型的值将被预定义的预设覆盖,因为Shopify平台认为它们具有表示性。与其他事物一样,这取决于主题的开发方式以及某人如何构建主题设置,这将决定这些道具是否真正包含呈现价值。但是,这些输入类型中的大多数都适用于表示元素,如颜色或字体,以显示或隐藏元素,或在布局显示范围中选择一个值。

section数据是如何存储的settings_data.json

导航时settings_data.json文件中,您将很快看到您可以定义部分对象预设它也出现在里面当前的.这部分对象将为您生成,如果您有节文件,这使商家能够添加Shopify部分使用主题编辑器将其添加到主题中,而无需预先定义默认情况下显示哪些部分当前的

您还会注意到,动态节可以有漂亮的id中预定义的名称settings_data.json最初的文件。但是,如果动态添加它们并让文件自动生成当前的对象,然后它们就会自动生成id的年代。

使用settings_data.json Shopify主题样式和预设- section order

这些id然后存储在content_for_index数组,它定义了顺序。这个数组里面当前的在用户使用主题编辑器更改订单时更新。您也可以通过移动数组中的这些值来手动调整顺序。

使用预设管理具有单个主题的多个商店

在Shopify工作期间,我看到了一些非常聪明的预置用法。其中一个例子就是使用settings_data.json管理在多个商店中使用的单个自定义主题。设置的方式非常简单—每个预设都在settings_data.json文件代表一个特定的存储,所有这些存储都使用相同的主题。

例如,单个公司可能有多个在线商店,因为它们有子公司或分支机构,每个子公司或分支机构都有自己的url和库存;欧宝体育官网入口首页但商店的主题是相似的。例如,Greenhouse Inc.有三个分支:Greenhouse Nurseries、Greenhouse Grocery和Greenhouse Living。每个分支机构销售不同类型的产品,有不同的关注点、客户和url,但它们都有一个共同的主题。

“每个分支机构销售不同类型的产品,有不同的关注点、客户和网址——但它们都有一个共同的主题。”

在这种情况下,预设例如,可以在主题中为每个公司分支命名greenhouse-nurseriesgreenhouse-grocery,greenhouse-living然后,一个主题可以用于所有三个商店,每个都有自己的预设包含自己的主题设置。该文件及其主题由某种版本控制跟踪,并且每个商店都使用该主题。的当前的对象,然后映射到适当的预设,它定义了一个设置列表-可能是一个特定的颜色样本的变化,不同的谷歌分析跟踪号码,等等。

因为settings_schema.json不覆盖预设,您可以存储任何您想要的预设信息,无论它是否直接映射到找到的主题设置settings_schema.json

在我们讨论url的时候,了解一下什么是规范的URL是什么以及为什么它们很重要。

跟踪更改时的陷阱

在编辑或更改时要记住的一件事settings_data.json是你如何跟踪它的变化,以及它如何在你现有的工作流程中工作。

因为这个文件是由主题编辑器更新的,所以我经常看到它在版本控制中被列为未跟踪;它是否被列在.gitignore文件中要忽略的文件config.yml主题包),或者.env文件(板岩)。当未跟踪时,您直接在文件中所做的更改很容易被主题编辑器覆盖,反之亦然,如果更改在启动新功能之前没有从您的商店中取出并提交/跟踪。OB欧宝娱乐APP

OB欧宝娱乐APP开始考虑如何使用主题样式和预设

构建主题,尤其是动态主题,可能很难。但是为Shopify主题创建带有预设的主题样式并不一定要这样。理解两者的区别很重要settings_schema.jsonsettings_data.json文件和主题样式是使用预设构建的。

在你的下一个项目中如何使用主题样式和预设要有创意;可能性是你所能想象和创造的!

借助Shopify合作伙伴计划发展您的业务

无论您提供营销、定制还是网页设计和开ob欧宝娱乐app下载地址发服务,Shopify合作伙伴计划都将为您的成功奠定基础。免费加入并获得收入分享机会、发展业务的工具和充满激情的商业社区。

报名

借助Shopify合作伙伴计划发展您的业务

了解更多