Tech Blog

Shopify Liquidとは|特徴や基本構文、学習リソースまで紹介

Shopify Liquidとは|特徴や基本構文、学習リソースまで紹介

Tsunライターチーム

Shopify Liquidは、Shopifyが開発したオープンソースのテンプレート言語です。本記事では、Shopify Liquidの基本概念、主な特徴、そしてその学習に役立つリソースについて解説します。

Shopify Liquidとは|特徴や基本構文、学習リソースまで紹介

Tsunライターチーム

Shopify Liquidは、Shopifyが開発したオープンソースのテンプレート言語です。本記事では、Shopify Liquidの基本概念、主な特徴、そしてその学習に役立つリソースについて解説します。

Shopify Vite Plugin でテーマ拡張機能の開発体験を改善する

Shopify Vite Plugin でテーマ拡張機能の開発体験を改善する

小笠原 京平

今回は Barrel が提供する Shopify Vite Plugin を導入して、テーマ拡張機能の開発体験を改善する方法をご紹介します。 対象読者 テーマ拡張機能の開発経験がある方 はじめに Shopifyのテーマ拡張機能 (Theme app extensions) はShopify アプリ開発において、ストアフロントに機能を追加するための機能です。 Liquid、JavaScript、CSSなどを使って開発することができますが、通常のアプリ開発と比較すると、ローカルでの開発体験はそれほどよくありません。 そこで、今回は Shopify Vite Plugin を導入して、開発体験を改善していきます。 Shopify Vite Plugin とは Barrel が提供する Vite用プラグインです。ViteをShopify テーマ開発に組み込んで開発体験を改善することを目的として作られていますが、テーマ拡張機能においてもその恩恵を受けることができます。...

Shopify Vite Plugin でテーマ拡張機能の開発体験を改善する

小笠原 京平

今回は Barrel が提供する Shopify Vite Plugin を導入して、テーマ拡張機能の開発体験を改善する方法をご紹介します。 対象読者 テーマ拡張機能の開発経験がある方 はじめに Shopifyのテーマ拡張機能 (Theme app extensions) はShopify アプリ開発において、ストアフロントに機能を追加するための機能です。 Liquid、JavaScript、CSSなどを使って開発することができますが、通常のアプリ開発と比較すると、ローカルでの開発体験はそれほどよくありません。 そこで、今回は Shopify Vite Plugin を導入して、開発体験を改善していきます。 Shopify Vite Plugin とは Barrel が提供する Vite用プラグインです。ViteをShopify テーマ開発に組み込んで開発体験を改善することを目的として作られていますが、テーマ拡張機能においてもその恩恵を受けることができます。...

Shopify Liquidで変数に初期値を設定する

Shopify Liquidで変数に初期値を設定する

小笠原 京平

Tsun Inc.の小笠原です!Shopifyアプリ開発をしていく中で、テーマ拡張機能を開発する際にLiquidを書くことがよくあります。今回はLiquidを書く上でかかせない変数を扱う際に、変数の初期値を設定する方法をご紹介します。

Shopify Liquidで変数に初期値を設定する

小笠原 京平

Tsun Inc.の小笠原です!Shopifyアプリ開発をしていく中で、テーマ拡張機能を開発する際にLiquidを書くことがよくあります。今回はLiquidを書く上でかかせない変数を扱う際に、変数の初期値を設定する方法をご紹介します。

Shopify Liquidで配列から任意の要素を取り除いた配列を生成する Tsun Inc.

Shopify Liquidで配列から任意の要素を取り除いた配列を生成する

小笠原 京平

「RuffRuff 予約販売」は在庫切れや新商品販売前、入荷待ちなどのタイミングで発生する機会損失の削減をサポートします。自身のShopifyストアに驚くほど簡単に予約販売を実現し、無制限での予約商品を登録および無制限で予約注文を受け付けることが可能です。また、予約商品と通常商品を同時に注文させないように制限したり、入荷時期が未定な場合は再入荷通知も可能です。他の予約販売アプリにはない商品出荷前に支払回収できる「後払い」機能などのユニークな機能もたくさん存在します。 アプリを見る デモページを見る Tsun Inc.でCTOをしている小笠原です!最近はShopifyのアプリやテーマの開発を行っています。このブログではShopify開発に役立つ情報を共有していきます。Shopifyエンジニアの方の参考になれば嬉しいです! なぜ作ろうと思ったのか Shopifyの配列を扱っていて一部を除外 (JavaScriptのArrayのfilter処理) をしたかったが、調べたところLiquidには配列から一部を除外して新しく配列を生成するような処理がないため。 作成したもの Liquidで配列から任意の要素を取り除く処理 対象読者 Liquidに関する基礎的な知識 実装 対象の配列を用意する まずは任意の要素を取り除く前の配列を用意します。 今回は例としてapple、orange、lemon、bananaという4つの文字列が入った配列を作ります。 (文字列をsplitフィルターで配列に変換します。) {%- liquid # ['apple', 'orange', 'lemon', 'banana'] の配列 assign fruits =...

Shopify Liquidで配列から任意の要素を取り除いた配列を生成する

小笠原 京平

「RuffRuff 予約販売」は在庫切れや新商品販売前、入荷待ちなどのタイミングで発生する機会損失の削減をサポートします。自身のShopifyストアに驚くほど簡単に予約販売を実現し、無制限での予約商品を登録および無制限で予約注文を受け付けることが可能です。また、予約商品と通常商品を同時に注文させないように制限したり、入荷時期が未定な場合は再入荷通知も可能です。他の予約販売アプリにはない商品出荷前に支払回収できる「後払い」機能などのユニークな機能もたくさん存在します。 アプリを見る デモページを見る Tsun Inc.でCTOをしている小笠原です!最近はShopifyのアプリやテーマの開発を行っています。このブログではShopify開発に役立つ情報を共有していきます。Shopifyエンジニアの方の参考になれば嬉しいです! なぜ作ろうと思ったのか Shopifyの配列を扱っていて一部を除外 (JavaScriptのArrayのfilter処理) をしたかったが、調べたところLiquidには配列から一部を除外して新しく配列を生成するような処理がないため。 作成したもの Liquidで配列から任意の要素を取り除く処理 対象読者 Liquidに関する基礎的な知識 実装 対象の配列を用意する まずは任意の要素を取り除く前の配列を用意します。 今回は例としてapple、orange、lemon、bananaという4つの文字列が入った配列を作ります。 (文字列をsplitフィルターで配列に変換します。) {%- liquid # ['apple', 'orange', 'lemon', 'banana'] の配列 assign fruits =...

Shopifyのブログ記事にコードのシンタックスハイライト機能を付ける Tsun Inc.

Shopifyのブログ記事にコードのシンタックスハイライト機能を付ける

小笠原 京平

Tsun Inc.でCTOをしている小笠原です!最近はShopifyのアプリやテーマの開発を行っています。このブログではShopify開発に役立つ情報を共有していきます。Shopifyエンジニアの方の参考になれば嬉しいです! なぜ作ろうと思ったのか テック系のブログ記事を書くときにコードを載せることが多くなりますが、Shopifyのブログ記事そのままだとコードが読みづらいため。 作成したもの Dawnをベースにブログ記事にコードのシンタックスハイライト機能を付けました。シンタックスハイライト機能を実現するライブラリはPrism、highlight.jsなどがありますが、今回はPrismを採用しました。 以下で、DawnテーマにPrismを使ったシンタックスハイライト機能の付け方を説明します!作成物を直接見たい方はTsun Inc.のリポジトリを参照してみてください。 前提条件 対象読者 Shopifyのテーマ変更ができる HTML、CSS、JavaScript、Liquidに関する簡単な知識がある 準備するもの Dawnテーマ (v5.0.0で動作確認しましたが、以前のバージョンでも問題ないはずです) ブログ記事 実装 ※ 今回の実装方法ではShopifyのテーマのコードを直接編集する方法をとるため、必ず事前にバックアップをしておいてください。 今回の実装では PrismのJS、CSSファイルの作成 ブログ記事用のLiquidファイルでPrismを読み込む の2つの工程を行います。 PrismのJS、CSSファイルの作成 単にシンタックスハイライト機能を試してみたい方はこの工程はスキップしても問題ありません。 サンプルとして用意したTsun Inc.のGitHubリポジトリから https://github.com/tsuninc/shopify-theme-examples/blob/main/dawn-with-prism/assets/prism.css https://github.com/tsuninc/shopify-theme-examples/blob/main/dawn-with-prism/assets/prism.js をダウンロードしてください。 ご自分でPrismのファイルを用意したい方は下記を実行してください。...

Shopifyのブログ記事にコードのシンタックスハイライト機能を付ける

小笠原 京平

Tsun Inc.でCTOをしている小笠原です!最近はShopifyのアプリやテーマの開発を行っています。このブログではShopify開発に役立つ情報を共有していきます。Shopifyエンジニアの方の参考になれば嬉しいです! なぜ作ろうと思ったのか テック系のブログ記事を書くときにコードを載せることが多くなりますが、Shopifyのブログ記事そのままだとコードが読みづらいため。 作成したもの Dawnをベースにブログ記事にコードのシンタックスハイライト機能を付けました。シンタックスハイライト機能を実現するライブラリはPrism、highlight.jsなどがありますが、今回はPrismを採用しました。 以下で、DawnテーマにPrismを使ったシンタックスハイライト機能の付け方を説明します!作成物を直接見たい方はTsun Inc.のリポジトリを参照してみてください。 前提条件 対象読者 Shopifyのテーマ変更ができる HTML、CSS、JavaScript、Liquidに関する簡単な知識がある 準備するもの Dawnテーマ (v5.0.0で動作確認しましたが、以前のバージョンでも問題ないはずです) ブログ記事 実装 ※ 今回の実装方法ではShopifyのテーマのコードを直接編集する方法をとるため、必ず事前にバックアップをしておいてください。 今回の実装では PrismのJS、CSSファイルの作成 ブログ記事用のLiquidファイルでPrismを読み込む の2つの工程を行います。 PrismのJS、CSSファイルの作成 単にシンタックスハイライト機能を試してみたい方はこの工程はスキップしても問題ありません。 サンプルとして用意したTsun Inc.のGitHubリポジトリから https://github.com/tsuninc/shopify-theme-examples/blob/main/dawn-with-prism/assets/prism.css https://github.com/tsuninc/shopify-theme-examples/blob/main/dawn-with-prism/assets/prism.js をダウンロードしてください。 ご自分でPrismのファイルを用意したい方は下記を実行してください。...

Shopifyの電話番号から国際番号を取り除いて表示する Tsun Inc.

Shopifyの電話番号から国際番号を取り除いて表示する

小笠原 京平

Shopifyで管理される電話番号(customer.phoneやshipping_address.phoneなど)は国際番号(日本であれば81)が付与されているケースがあります。 付与されるケースとしては、顧客管理画面から顧客データを編集した場合や顧客自身が入力した場合(おそらくレアケース)があります。 電話番号をストア内に表示したい場合や帳票に表示する際に国際番号を取り除いて表示したかったので方法を調べました!

Shopifyの電話番号から国際番号を取り除いて表示する

小笠原 京平

Shopifyで管理される電話番号(customer.phoneやshipping_address.phoneなど)は国際番号(日本であれば81)が付与されているケースがあります。 付与されるケースとしては、顧客管理画面から顧客データを編集した場合や顧客自身が入力した場合(おそらくレアケース)があります。 電話番号をストア内に表示したい場合や帳票に表示する際に国際番号を取り除いて表示したかったので方法を調べました!

Shopify Order PrinterのテンプレートをVS Codeで効率的に作成する Tsun Inc.

Shopify Order PrinterのテンプレートをVS Codeで効率的に作成する

小笠原 京平

Shopifyでストア構築するときによく使われるアプリにOrder Printerという公式アプリがあります。テンプレートがあらかじめ用意されているんですが、独自のテンプレートを1から作るとなると結構骨が折れる作業だったので、こうすれば効率よく作れるよ!という方法をご紹介したいと思います。

Shopify Order PrinterのテンプレートをVS Codeで効率的に作成する

小笠原 京平

Shopifyでストア構築するときによく使われるアプリにOrder Printerという公式アプリがあります。テンプレートがあらかじめ用意されているんですが、独自のテンプレートを1から作るとなると結構骨が折れる作業だったので、こうすれば効率よく作れるよ!という方法をご紹介したいと思います。