【Shopify】同じページ内に同一のセクションを複数配置し、それぞれ別々のCSSを適用したいときの解決方法

Shopify
Shopify

失敗のパターン

Shopifyの新機能「カスタマイズ」画面内の、「セクション」>「カスタムCSS」に記述

これはShopifyの管理画面の実際の表示なのだが、「このセクションのみ。にカスタムスタイルを追加する」と日本語があやしい。ここにCSSを記述すれば、確かにセクションにCSSを適用できる。が、実はこのパターンだと、sectionのファイルの{% stylesheet %}〜{% endstylesheet %}にCSSを記述したときと内部的には同じようなことになる。つまり、そこで使用するスタイルのクラス名の付け方によってはほかのセクションにあるクラス名にも適用される。

ここに入力しても、本当にこのセクションファイル内のCSSにのみスコープされて適用されるわけではないのだ。「このセクションのみ。にカスタムスタイルを追加する」と甘言を吐かれているが、注意。甘言というかただの嘘!

成功のパターン

セクションのスキーマに、typeが”text”のスキーマを儲け「そのセクションをラップしている要素」に、カスタマイズの画面から任意のクラス名を入力できるセクションをカスタマイズにするのだ。そうすることで、同じ画面内に同じセクションが使いまわされ、かつそれぞれのセクションで微妙にデザインを変えたい、という時に、この親要素classの子要素に対してCSSを記述すれば、絶対にそのセクション内の要素にしかCSSが適用されないようにできます。

例えばこのような形でカスタマイズ画面上でクラス名を記述できるようにします。

その上で、


.top_textbox_02 h3{
    font-size: 15px;
    font-family: 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", sans-serif;
}

というようにして、このセクションでのみ適用できるh3のスタイルを記述することができる。

類似しているが実は失敗している方法

似たような方法として、セクション内のschemaでJSONにて、以下のように静的に記述する方法も考えられるが、

"class": "top_textbox_02"

この方法だと、同じページ内に同一のセクションが何回も使用されているときに、同じクラスを持った親要素が複数登場することになり、それぞれ微妙にデザインが違うように制御することが難しい。

はたまた、他に考えうるのが、セクションを作成するたびにShopifyがそのセクションに自動採番するid名というものがある。

このようなとても長いid名で生成されるが、これは生成されてみないとどんな名称になるかわからない。確かに、id名とあり、セクションごとにユニークに採番され、重複することはないので、これでもいけそうなのだが、この方法だと、まずいことが起こる。

カスタマイズ画面上ですでにこの方法でスタイルをガチガチに適用しているセクションがあったとして、これを何らかの理由で消し、新規で同じセクションを配置し直したとする。

そうすると、過去に採番されたid名は再び採番されないので、デザインが適用されていない裸のセクションが登場することになる。

また、別のページでセクションを使いまわしたい、というときも、新規採番されたid名が付与されるので、そこでも裸のデザインが登場する。

なので、僕が考える限り、紹介した方法が最も管理がしやすく思う。

まあ、紹介した方法の欠点は、クラス名の管理はコーダーの仕事なので、コードを知らない運用者が「クラス名」「top_textbox_02」とか言われても、「?」って感じなところです。

事前に運用者とサイトの保守管理をしているコーダーで認識のすり合わせをしておくのがよいかと思います。

他にもっと効率的な方法があれば、ご教示いただけたりすると大変うれしいです!

以上です!

Webサイト制作を依頼したい方へ

PRYTHM WORKS(プリズムワークス)は、東京都墨田区、東京スカイツリーのふもとにあるWebコンテンツ制作事務所です。

華々しいおしゃれなECサイトをはじめ、アンダーグラウンドな案件まで幅広くご依頼をいただき、どんな案件でも真心・丁寧・楽しくを理念に掲げて制作しております!

作りたいサービスはあるけど、まずは費用感が知りたい!という方も、まずはお問い合わせください!

mail@prytymworks.tokyo

PRYTHM WORKSが手掛ける仕事の一部をご紹介します。

制作のご依頼者様用 費用かんたんお見積もりフォーム

おそらく本記事を読まれるのは、制作の現場の、法人またはフリーの、プロデューサーの方、ディレクターの方、エンジニアの方がほとんどかと存じます。
いつもおつかれさまです!そして本記事をお読みいただきありがとうございます。
紹介した記事の内容について、またはその他制作のご依頼について、以下のフォームより簡易お見積もりができます!
試算だけならフォーム送信しなくてもできますので、ぜひ試しにいかがでしょう?

お仕事をご希望の制作者様用 お問合せフォーム

また、まずはライトなご相談から…ということであれば、こちらのコンタクトフォームからお気軽にどうぞ!ご縁を大切にしてご返信いたします!

    ShopifyでのECサイト制作を行うならPRYTHMWORKS(プリズムワークス)へ

    ShopifyでのECサイト制作を外注しようとお考えの方は、PRYTHMWORKS(プリズムワークス)にご依頼ください。高品質なWebサイト制作で、お客様のビジネス成長を支援する会社です。Shopifyを使ったECサイト制作に力を入れており、売上向上に貢献するECサイト構築を代行いたします。豊富な経験と実績にもとづき、お客様のニーズに最適なECサイトを構築しますので、費用相場や制作事例など、気になることがございましたらお気軽にお問い合わせください。移行のご相談も承っております。

    社名合同会社PRYTHMWORKS
    事業内容EC/Webサイトの構築、管理保守
    CEO吉川直人
    法人事務所所在地〒150-0001
    東京都渋谷区神宮前六丁目23番4号桑野ビル2階
    設立日2023年(令和5年)7月3日
    沿革2020年(令和2年)10月
    個人事業主PRYTHMWORKS事業開始
    2023年(令和5年)7月
    合同会社PRYTHMWORKS設立

    会社に関するご連絡は以下よりお願いいたします。

    mail@prytymworks.tokyo


    お問い合わせ用LINEはこちらからどうぞ!

    お問い合わせ用LINEはこちらからどうぞ!

    LINE

    GoogleMeetの相談予約が可能になりました!

    以下の空いている日からサクッとGoogleMeet(ビデオ通話)の予約をどうぞ!