shopify - Liquid を使用してページ URL に応じて異なる .js 埋め込みを表示する

okwaves2024-01-25  9

現在のページの URL に応じて、ページの特定の部分に異なる .js 埋め込みを表示するために Shopify コレクション ページを取得しようとしています。

これは、{% if page.url == %} を使用して実行できますか。その場合、ページ URL のバリエーションや特定の埋め込みコードはどのようにすればよいですか?

ページの URL は次のようになります:

https://www.example.com/collections/technology/technology-connected-home

埋め込みコードは次のようになります:

<script type="text/javascript" src="https://apps.example.com/app/js/18218989163.js"></script>```


------------------------

各 Shopify ストアには、インデックス (別名ホーム)、製品、コレクション、ページ、ブログ、記事、カートなど、さまざまな種類のページがあります。ページタイプの完全なリストは次のとおりです.

したがって、この page.url は、URL を取得するために適切なページ オブジェクトを使用する必要がある他のすべてのタイプのページ タイプのページ オブジェクトでのみ機能します。

コレクション.url 製品.url 等...

あなたの場合、case/when を使用し、スニペットにロジックを追加して、theme.liquid にレンダリングすることをお勧めします。

次に例を示します。

{% if request.page_type == 'page' %}
  {% case page.url %}
    {% when '/pages/about-us' %}
      {{ 'pages__about-us.js' | script_tag }}
    {% when '/pages/contact-us' %}
      {{ 'pages__contact-us.js' | script_tag }}
    {% else %}
      {{ 'pages__generic.js' | script_tag }}
  {% endcase %}
{% endif %}

参照

ケースを作成する前に request.page_type を確認する必要があります。または、次のようなスニペットの先頭でタイプを確認する別のアプローチもあります。

{% comment %} Set page object type {% endcomment %}
{% case request.page_type %}
  {% when 'page' %}
    {% assign page_object = page %}
  {% when 'collection' %}
    {% assign page_object = collection %}
  {% when 'product' %}
    {% assign page_object = product %}
{% endcase %}

{% comment %} Load JS based on page URL{% endcomment %}
{% case page_object.url %}
  {% when '/pages/about-us' %}
    {{ 'pages__about-us.js' | script_tag }}
  {% when '/pages/contact-us' %}
    {{ 'pages__contact-us.js' | script_tag }}
  {% else %}
    {{ 'pages__generic.js' | script_tag }}
{% endcase %}

これは完全なソリューションではありませんが、その上に構築するには十分です。

頑張ってください!

0



------------------------

page.handle を使用してハンドルを識別することをお勧めします。 page.url があなたが必要とするものを提供するとは思えません



------------------------

ハンドルは決して変更できないため、これを試すこともできます。

{% case page.handle %}
    {% when 'about-us' %}
      {{ 'pages_about-us.js' | script_tag }}
    {% when 'contact-us' %}
      {{ 'pages_contact-us.js' | script_tag }}
    {% else %}
      {{ 'pages_generic.js' | script_tag }}
  {% endcase %}

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。