Shopifyテーマのセクションを自作してみよう! Liquidを活用

*本サイトはアフィリエイトプログラムを利用しています。

ShopifyにはECサイトを手軽に運用するために無料・有料のテーマが用意されています。それらのテーマを利用しつつ、機能を追加したいときは、セクションをカスタマイズすることで対応できます。

既存のテーマのカスタマイズはプログラム言語のLiquidを活用し、コードを記述することで実現可能です。テキストの追加や画像や動画の埋め込みなど、多くの機能を追加できるのがShopifyのメリットといえるでしょう。

Shopifyテーマのセクションを自作したい方は、最後までご覧ください。

Shopifyのセクション自作の基礎知識

Shopifyでセクションを自作するには、まずShopifyのテーマの仕組みを理解する必要があります。

  • Shopifyのテーマとは
  • 自作セクションでできること
  • 必要な言語

以上の3つの内容を解説していきます。

Shopifyのテーマとは

Shopifyのテーマとは、ECサイトの機能とデザインが組み込まれたテンプレートです。HTMLやCSSの知識が少なくても、テーマを活用することでECサイトの構築が可能です。Shopifyのテーマストアから、様々なタイプのテーマを選択できます。

ShopifyのテーマはHTMLのように1ページではありません。それぞれのコンテンツを構成するためのデータは複数のディレクトリに分かれています。テーマはShopifyの管理画面のオンラインストアから選択できます。

テーマの構造を確認する際は、テーマのカスタマイズボタンの左横にある「・・・」をクリックしコードの編集を確認しましょう。

コードの編集をクリックすると、ECサイトの構成データがディレクトリ毎に格納されています。ディレクトリ内にはCSS、JavaScript、JSON、Liquidなどのファイルが含まれます。

ディレクトリ概要
レイアウト「theme.liquid」 テーマ全体の枠組みを提供している
テンプレートproduct.liquid、collection.liquidなど商品やコレクションページなど各ページのレイアウトファイルを格納している
スニペット使用頻度の高いコードを保管、呼び出すことで複数ページで簡単に利用できる
セクション特定のページにおいて動的な表現を実現するためのLiquidファイルを格納している
アセットテーマで使用するCSSや画像ファイルなどを格納している
設定ファイルテーマで使用するCSSや画像ファイルなどを格納している
設定ファイル
setteings_data.json、settings_schema.jsonの2つが格納されている。カスタマイズ項目を追加する際に編集する
Shopifyテーマディレクトリの概要

ECサイトでカスタマイズする機会が多いのは、セクションの項目です。続いて、セクションを自作する方法やできることを紹介します。

自作セクションでできること

Shopify管理画面のストアページのカスタマイズを選択すると「セクションを追加」や「ブロックを追加」という文字が表示されています。

管理画面から追加した後にコード編集をクリックすると、追加したセクション部分がLiquidファイルに追加されています。これらのデータは、以下のタグを用いて記述されているので確認しましょう。

タグ概要
{% schema %}テーマのカスタマイズページでユーザーが変更できる設定項目を定義
{% javascript %}セクションまたはブロック専用のJavaScriptを記述
{% stylesheet %}セクションまたはブロック専用のCSSスタイルを定義
Liquidコード記述内容

JavaScriptやStylesheetを使用しない場合、Schemaのみ記述されていることもあります。

必要な言語

Shopifyのセクションを自作するために必要な言語は、以下の5つです。

  • HTML
  • CSS
  • Liquid
  • JavaScript
  • JSON

セクションを自作する際にもっとも必要なのはLiquidです。しかし、カスタマイズしたい内容によってはJSONやJavaScriptの設定を変更する必要もあります。セクションの変更だけでなくテーマ全体にカスタマイズが及ぶ場合は、RubyやRUST、GraphQLなど幅広い知識が求められるでしょう。

Shopifyセクションを自作しよう

Shopifyでセクションを自作する際の手順は次のとおりです。

  1. デザイン&機能を明確にする
  2. セクションファイルを作成する
  3. 自作セクションファイルの構造を理解する
  4. 動的コンテンツの表示にはLiquidやJSONが必要
  5. カスタマイズによってはCSSやJavaScriptも必要

ECサイト全体のデザインや機能を明確にし、自作したいコンテンツ内容を確認し、どのようなプログラム言語の知識が必要か確認しましょう。

デザイン&機能を明確にする

Shopifyでセクションを自作する際に気を付けるポイントは、ECサイトのデザインや機能を明確にしておくことです。

セクションの自作とアプリの導入と、デザインや機能面を損なわないようなカスタマイズが求められます。

LiquidやJSONで自作するよりアプリを導入した方が利便性が増す可能性もあります。

セクションファイルを作成する

それでは、実際にShopifyでセクションを自作してみましょう。今回はFAQ(よくある質問)のセクションの追加にチャレンジしてみます。

セクションを自作する際にまずおこなうのは、Shopifyのテーマディレクトリにあるセクションフォルダ内に新しい .liquidファイルを作成します。

管理画面→オンラインストア→テーマ→カスタマイズ横の「・・・」をクリックしコード編集を選びましょう。

セクションフォルダをクリックし「新しいセッションを追加する」をクリックします。

新しいセクションを追加する画面に遷移します。今回作成したいのはLiquidファイルなので、liquidを選択しファイル名を入力しましょう。

今回はよくある質問なので分かりやすく「faq.liquid」にしました。

完了ボタンをクリックし管理画面に戻るとfaq.liguidファイルの作成が完了しているので確認してください。

自作セクションのファイル構造

セッションの部分で新しいliquidファイル「faq.liquid」を作成すると、Shopifyのテーマページにもセッションが追加されます。「settings」内でファイル構造は次のとおりです。

“settings”: []で設定するキー(属性)は、以下5種類が基本となっています。

項目概要
idLiquidの変数で使用
type画面に表示される入力設定の名称
labelShopifyテーマのカスタマイズ画面で表示される名称
defaulttypeのデフォルトの値
info入力設定設定に関する説明
Shopifyセクションのファイル構造

このなかでid、type、labelの3種類は入力必須項目です。実際に入力してみましょう。

実際にfaq.liquidでtypeとid、labelなどの情報を入力すると次のように反映されます。

「faq.liquid」では、ファイルの上部にHTMLで記述できるように設定しています。

画像ではデザインのコーディングを一切おこなっていないので、見映えのよくない状況になっていますが、Shopifyでは、HTMLやカスタムCSS、Javascriptの記述も可能なので、コードを追加するとデザインの調整も可能です。

動的コンテンツを表示するにはLiquidとJSONを活用

Shopifyは基本機能は充実しているものの、動的コンテンツを表示するには、LiquidやJSON、次に紹介するCSSやJavaScriptでのカスタマイズも必要になります。どのようなカスタマイズをしているのか紹介します。

カスタマイズ例概要
商品カテゴリページの改善Liquidで特定の商品カテゴリに表示する内容を設定
商品データのカスタマイズ・JSON形式で商品データを埋め込み
・ECサイト上で商品情報の動的表示や価格・在庫の更新
プロモーションバナー1.JSON形式でプロモーション情報を埋め込み
2.JavaScriptでデータを取得
3.特定条件でプロモーションバナーを表示
LiquidやJSONを活用したカスタマイズ事例

このようにLiquidやJSONを活用すると、ECサイトで動的コンテンツを表示できるため、ほかのECサイトとの差別化を実現できるでしょう。

CSSとJavaScriptが必要になるカスタマイズ

CSSとJavaScriptが必要になるカスタマイズの事例を紹介します。

カスタマイズ内容概要
商品ギャラリーの拡張・CSSで商品画像のレイアウトを調整
・JavaScriptでスライダーを追加し画像の切り替えなど
カートページのエフェクト設定・HTML要素を追加しCSSでポップアップを調整
・フェードイン効果などを追加
カスタムオプション・HTML要素を追加しCSSでスタイル調整
・価格のリアルタイム更新など
CSSやJavaScriptが必要になるカスタマイズ例

HTML要素でタグ付けをおこない、CSSスタイルやJavaScriptの機能を活用し、動的なコンテンツの表現を実装しています。

Shopifyのセクションを自作する際の注意点

Shopifyでセクションを追加した場合の注意点は以下のとおりです。

  • 公開中のテーマでテストを行わない
  • 自部で操作するのが難しい場合は専門家へ相談

カスタマイズしたい内容によっては、LiquidだけでなくCSSやJSON、JavaScriptの知識が必要になるケースもあります。

公開中のテーマでテストを行わない

Shopifyでのカスタマイズはリアルタイムに反映されてしまいます。現在、公開しているテーマでカスタマイズすると、保存した内容はそのまま公開されてしまいます。

カスタマイズを行い実装テストをおこなう場合は、テーマ情報をコピーしてテーマは非公開の状態で行いましょう。

自分で操作するのが難しい場合は専門家へ相談

カスタマイズの内容によって設定しなければならないファイルは異なります。セクション内のLiquidファイルの記述だけでなく、レイアウトや設定を変更しなければならない場合もあるでしょう。

LiquidだけでなくJavaScripやCSSなどの知見も必要になる場合があります。自分で操作するのが難しい場合は、PLAYBIT(プレイビット)など構築を専門としている会社に相談する方法をおすすめします。

Liquidを活用してShopifyテーマで動的コンテンツを表示しよう

Shopifyには目的に応じて様々なテーマが用意されています。ECサイトでユーザーに商品を購入してもらうには動的コンテンツの表示が欠かせません。

Liquidを活用することでセクションを自作し、動的コンテンツも表示できます。まずは簡単な内容からテーマセクションの自作にチャレンジしてみましょう。