在Shopify中,似乎有两个区域可以上传网站图像:文件(设置->文件(和资产。这里有什么区别?为什么你想把图像放在一个上面?
设置->文件
这些是可以从任何主题访问的全局文件。您可以在那里存储不同的资产,例如,在图像选择器字段的自定义面板中上传的任何图像都会放在那里。还有一些其他资产,但仅此而已,它们是全局资产,即使您删除了通过自定义面板添加文件的主题,也可以从任何主题访问。
此外,没有API(截至目前(允许与此通信。这意味着应用程序无法直接上传文件。
主题->资产
另一方面,主题资产被视为特定主题的本地资产,如果您删除主题,这些文件就会消失,您无法访问它们。
这些文件带有主题,所以当你向商店添加新主题时,资产(css/js/images(也会随之而来。
有一个API允许您与资产API通信,这样应用程序就可以从主题资产文件夹中写入和读取。
你为什么要用一个而不是另一个
这里没有具体的规则,您可以将它们中的任何一个用于文件,但有一些好的做法。
如果主题需要特定功能,请将这些文件添加到主题资源文件夹中。例如CSS&JS文件需要转到那里。你为什么问?
有一个名为ThemeKit的工具,它允许您与主题通信,并直接在assets文件夹(和其他地方(中读取/写入文件,这使开发人员的开发和调试更加容易。因此,如果你的css或js文件上传到Settings -> Files
中,如果不下载并手动重新加载,就无法读取/写入它(这很痛苦(。
当你下载你的主题并将其上传到另一个商店时,由于主题资产与主题一起提供,它就可以正常工作了。因此,在这种意义上,请在这些情况下使用主题资产。
另一方面,当您有特定的自定义选项时,一些主题可以选择链接到SVG或MP4文件,因为无法添加这些文件,通常管理员会在Settings -> Files
部分上传这些文件,并将全局链接复制/粘贴到自定义面板字段。
简单地说,主题资源用于主题功能,而设置文件用于自定义资源。
当涉及到图像时,通常大多数图像都应该可以通过带有image_picker
字段的自定义面板进行管理,这些面板将直接将图像上传到Settings -> Files
,而无需执行任何操作。
但是,如果您有主题所需的静态图像(例如徽标(,并且没有自定义选项,则将其添加到主题资源文件夹中。
TL;DR
主题资源是与所讨论的主题严格绑定的文件,而Settings -> Files
是可以从任何主题访问的文件。
当您开发主题时,请在主题资产文件中写入所有文件,以便在您喜欢的情况下共享主题或在之后轻松修改主题。
仅当您需要链接到特定的全局资产或允许用户在主题的自定义设置中复制粘贴链接时,才使用Settings -> Files
。
@drop在这里是正确的,但我缺少一些信息,我认为这些信息可能会有所帮助。
主题有一个大小限制(目前为50mb(。因此,如果你的主题有很多图像,并且它们都在assets文件夹中,那么如果超过阈值,你的主题可能不会上传。更不用说,你可能不想把所有这些图像都检查到你的主题库中。
这是您可以使用设置->文件部分存储您的文件。然后,您可以使用此处引用的file_image_url标记在主题中引用它们https://shopify.dev/api/liquid/filters/url-filters#file_img_url
现在还有一个API用于这些资产的CRUD
https://shopify.dev/api/admin-graphql/2022-04/mutations/filecreate
我希望这对未来的信息获取者有所帮助。