【Shopify】テーマをローカル環境で開発する方法
Shopify のテーマ開発は、Liquid というテンプレート言語を使用します。
Shopify のテーマは、ブラウザで開発します。
ブラウザでの開発では、変更を確認する度に画面を切り替えたり、全文検索が弱いところがあったりし、作業の効率が落ちてしまいます。
今回はローカル環境で開発をする方法を紹介します。
まず初めに、Theme Kit(テーマキット)をインストールします。
Theme Kit は、Shopify のテーマ構築に使用できるコマンドラインツールです。
これによりローカル環境で開発時、開発したコードを Shopify にアップロードすることができます。
Linux もしくは macOS を使用している場合、Theme Kit をグローバルで設定するには、まずは以下のコマンドをターミナルで実行します。
curl -s https://shopify.github.io/themekit/scripts/install.py | sudo python
OS によってインストールするコマンドが異なりますので、インストール方法は、こちら(https://shopify.dev/tools/theme-kit/getting-started)をご確認ください。
Theme kit がインストールされていることを確認する場合は、以下のコマンドを実行します。
theme —help
認証 API の設定
続いては、Shopify とローカル環境のテーマを連携させるために、認証 API の設定を行います。
手順は、以下の通りです。
-
Shopify 管理画面から、『アプリ管理**』**をクリックします。
-
右のページの下にある『プライベートアプリの管理』をクリックします。
-
プライベートアプリ開発が無効になっている場合は、『プライベートアプリ開発を有効にする』をクリックします。
-
『新しいプライベートアプリを作成』をクリックします。
-
アプリの詳細の欄の、アプリ名とメールアドレスを入力します。
-
Admin API の欄の、『非アクティブな Admin API 権限を表示する』をクリックします。
-
Admin API の『テーマ』の『アクセスなし』をクリックし、『読み取りおよび書き込み』を選択します。
-
画面右上にある『保存』をクリックします。
-
『アプリの作成』をクリックします。
『プライベートアプリが正常に作成されました』と表示されたら成功です。
画面下にスクロールし、Admin API 欄に API キーとパスワードが表示されます。
テーマ ID の確認
テーマ ID も必要になるので、確認します。
管理画面の『販売チャネル』の『オンラインストア』をクリックします。
画面右の『現在のテーマ』の『アクション』をクリックし、『コードを編集する』をクリックします。
アドレスバーの URL の〇〇.com/admin/theme/に続く数字が、テーマ ID にあたります。
ローカル環境につなげる
まずは、Shopify のテーマのためのディレクトリを作成します。
mkdir [theme-name]
先ほど作成した Shopify テーマに移動します。
cd [theme-name]
Shopify と連携するには、以下のコードを実行します。
theme get --password=[your-api-password] --store=[your-store.myshopify.com] --themeid=[your-theme-id]
your-api-password には、Admin API 欄のパスワード
your-store.myshopify.com には、管理画面のドレスバーに表示されている URL
your-theme-id では、先ほど確認したテーマ ID
がそれぞれ入ります。
例えば、
Admin API 欄のパスワード : 12345678
管理画面のドレスバーに表示されている URL : my-test-shopping.myshopify.com
テーマ ID : 122914898083
の場合
theme get --password=12345678 --store=my-test-shopping.myshopify.com --themeid=122914898083
になります。
実行すると、Shopify テーマが作成したディレクトリにダウンロードされました。
コードを変更後、自動で Shopify のテーマを反映させたい場合、以下のコマンドをターミナルで実行します。
theme watch--allow-live
今後、Shopify のテーマをローカル環境で開発する時は、theme watch--allow-liveを実行してください。
試しにコードエディタで変更してみます。
フッターの『Powerd by Shopify』を消してみましょう。
『sections』の『footer.liquid』にある、{{ powered_by_link }}が『Powerd by Shopify』にあてはまりますので、こちらを削除します。
『footer.liquid』を保存後、ターミナルを見ると、『footer.liquid』が更新されたのがわかります。
Shopify の開発しているサイトをリロードすると、
『Powerd by Shopify』が消えました。
theme watch--allow-liveを終了する場合は、ターミナルで『ctrl + c』もしくは『command + c』を入力してください。
一度環境構築を行うと、2 度目の起動からは、theme watch--allow-liveを実行するだけなので、ぜひ使用してください。
お知らせ
私事ですが、Udemyで初心者を対象にしたReactの動画コースを作成しました。
Reactについて興味がありましたら、ぜひ下のリンクからアクセスしてください。
詳しくはこちら(Udemyの外部サイトへ遷移します)