跳到主要内容

主题开发

主题开发命令,用于创建脚手架、预览和发布主题。它们是 shoplazza themes 下不带 + 前缀的子命令,与主题 API 命令并列。

pull、push、serve 和 share 支持 -e, --environment <名称>,针对 shoplazza.theme.toml 中定义的环境执行,参见 env。

init​

基于 Nova 2023 创建新主题脚手架。

shell
shoplazza themes init --name <目录名>
参数类型说明
--name <目录名>string新主题的目标目录名(必填)

无需登录。目标目录必须不存在或为空。

serve​

上传当前主题到店铺并启动实时预览。

shell
shoplazza themes serve [参数]
参数类型说明
--theme-id, -t <THEME_ID>string要预览并覆盖的主题 ID。如省略则使用当前目录的开发主题。
--environment, -e <名称>stringshoplazza.theme.toml 中的环境(店铺、profile、主题)
--port <PORT>intLiveReload 服务端口(默认:21647)
--skip-pushbool跳过启动时的全量上传,直接开始监听;只同步运行期间变更的文件
--task-id <TASK_ID>string继续等待之前的上传任务,不重新上传
--timeout <秒数>int监听指定秒数后退出(默认:0,一直监听直到中断)

不传 --theme-id 时,首次运行会创建名为 Development - <主题名> 的开发主题,并把它的 ID 保存在 .shoplazza/theme-state.json 中(每个店铺一个),之后的运行会复用它。

返回内容:预览链接和主题编辑器链接。每次文件变更都会同步到主题并刷新已连接的浏览器。同步是单向的(本地到远端),主题编辑器中的修改需用 themes pull 拉取。命令会一直运行,直到按 Ctrl-C。

启动时的上传会用本地文件替换服务器上的主题文件:只存在于服务器上的文件会被删除,主题编辑器中的修改(包括 config/settings_data.json)会被覆盖。使用 --skip-push 可保留它们。

pull​

从 Shoplazza 店铺下载主题文件。

shell
shoplazza themes pull [参数]
参数类型说明
--theme-id, -t <THEME_ID>string要下载的主题 ID。除非 -e 已提供,否则必填;在终端中也可以从列表中选择
--environment, -e <名称>stringshoplazza.theme.toml 中的环境(店铺、profile、主题)
--dry-runbool只打印将下载的内容和可能覆盖的本地文件,不发送请求

文件会解压到当前目录,随后店铺和主题会记录到 shoplazza.theme.toml(default 环境,或 -e 指定的环境);文件不存在时会创建,修改已有环境前会先询问。

push​

上传本地主题文件到 Shoplazza 店铺,覆盖远端版本。

shell
shoplazza themes push [参数]
参数类型说明
--theme-id, -t <THEME_ID>string要覆盖的主题 ID。除非 -e 已提供,否则必填;在终端中也可以从列表中选择
--environment, -e <名称>stringshoplazza.theme.toml 中的环境(店铺、profile、主题)
--task-id <TASK_ID>string继续等待之前的上传任务,不重新上传(超时错误中返回的 task_id)
--dry-runbool只打印将上传的内容和目标,不打包也不发送请求

在终端中,push 覆盖主题前会请你确认。之后最多等待 10 分钟让服务器处理上传;等待超时后可用 --task-id 重新运行继续等待。与 pull 一样,它会把店铺和主题记录到 shoplazza.theme.toml。

package​

将本地主题文件打包为 ZIP 文件。

shell
shoplazza themes package [参数]
参数类型说明
--no-ignorebool忽略 .themeignore 规则(默认:false)

share​

上传主题为新的未发布主题,并返回可分享的预览链接。不会覆盖已有主题。

shell
shoplazza themes share [参数]
参数类型说明
--environment, -e <名称>stringshoplazza.theme.toml 中的环境(店铺、profile)
--dry-runbool只打印将作为新预览上传的内容,不打包也不发送请求

env​

查看和编辑 shoplazza.theme.toml 中的环境。CLI 会从当前目录向上查找该文件。

shell
shoplazza themes env <命令> [名称] [参数]
命令说明
themes env list列出所有环境
themes env show [name]查看单个环境(默认:default)
themes env check [name]离线校验每个环境都能对应到已登录的 profile;省略名称则检查全部
themes env add [name] --store <domain> [--theme <id>]添加环境
themes env set [name] [--store <domain>] [--theme <id>]修改已有环境,只改动传入的参数
themes env remove [name]删除环境
shoplazza.theme.toml
[environments.default]
store = "my-store.myshoplaza.com"
theme = "123456"

[environments.staging]
store = "staging.myshoplaza.com"
theme = "654321"

用 -e <名称> 或环境变量 SHOPLAZZA_CLI_ENVIRONMENT 选择环境;两者都未设置时自动使用 default 环境。该文件不保存凭证,环境中的店铺需要有已登录的 profile。add、set、remove 改写文件时不保留注释。

相关​