コレクション一覧での価格表示変更について

AI-generated summary

ユーザーがコレクション一覧ページで表示される価格のカスタマイズ方法を質問しています。

現状の課題:

  • デフォルトでは最低価格が自動表示される
  • 複数のバリエーション(本使用料金/国内 ¥198,000、本使用料金/海外 ¥29,800、試着料金など)が設定されている
  • 最低価格ではなく、特定のテキスト(「本使用料金/国内」)に基づいた価格を表示したい

使用テーマ: Symmetry(有料テーマ)

回答内容:
Qcoltd氏が、Symmetryは有料テーマのため直接的なコード提案はできないとしつつ、代替として無料テーマ「Dawn」を例に解決方法を提示:

  • snippets/price.liquidファイル内のコード修正が必要
  • バリエーションのoption1(オプションの1つ目)が「本使用料金/国内」と一致する場合、その価格を表示するロジックを追加
  • Symmetryに適用する場合は、テーマ構造に合わせた調整が必要
  • オプションが2つ目や3つ目にある場合はvariant.option2やvariant.option3に変更が必要

注意点: 十分な検証がされていないため、実装時に不具合が生じる可能性あり。参考情報として提供されています。

現状、コレクション一覧にした時に表示される価格が最低金額が表示される仕様になっていると思われます。

コレクション一覧に表示される金額を変更したいのですが、数字に依存するのではなく、テキスト依存で金額を表示させたいのですがそれは実現可能なのでしょうか?

・バリエーションはいくつか設定しています

・以下バリエーション内容

・本使用料金/国内 ¥198000

・本使用料金/海外 ¥298000

・試着料金/国内 ¥4400

・試着料金/海外 ¥50000

この中の値段が一番小さくもなく一番高くもない「本使用料金/国内」を表示させたいので、「本使用料金/国内」←このテキストの金額を表示させることは可能なのでしょうか?

また、テキスト依存での表示は難しいとのことでしたら、価格が2番目に高いものを表示できればと思います。

お力添え願います。

どなたかご返答をお待ちしております。

すみませんテーマは「Symmetry」を使用しています。

もしかしたらアプリで、

ご希望の状態にすることができるかもしれませんが、

コードカスタマイズでも可能かと思います。

しかし、

Symmetryが有料テーマであるため、

Symmetryを例にしてコードカスタマイズをご提案することができません。

あまり役に立たないかもしれませんが、代わりに、Dawnを例にして回答いたします。

また、十分に検証しておりませんので、何か不具合ありましたら申し訳ございません。

スニペット(snippets)に、price.liquidというファイルがあります。

そのファイル内に下記のよう記述があります。

assign compare_at_price = target.compare_at_price
  assign price = target.price | default: 1999
  assign available = target.available | default: false
  assign money_price = price | money
  if settings.currency_code_enabled
    assign money_price = price | money_with_currency
  endif

このうち、

通常価格の表示にはmoney_priceが使用されます。

上記の記述を下記のようにすることで、

おそらく、質問者様のご希望の価格が表示されるのではないかと思います。

assign price_domestic_usage = 0;
  for variant in target.variants
    if variant.option1 == '本使用料金/国内'
      assign price_domestic_usage = variant.price
    endif
  endfor

  assign compare_at_price = target.compare_at_price
  assign price = price_domestic_usage | default: 1999
  assign available = target.available | default: false
  assign money_price = price | money
  if settings.currency_code_enabled
    assign money_price = price | money_with_currency
  endif

※上記のコードは、本使用料金/国内、本使用料金/海外、試着料金/国内、試着料金/海外 が、option1(1つ目のオプション)であることを想定しています。2つ目にオプションであれば、上記コードの、variant.option1を、variant.option2に、3つ目のオプションであれば、variant.option3にご変更ください。

上記は、

Symmetryにそのまま適用できないと思いますので、

ある程度、Symmetryに合わせて変更する必要があります。

困難な場合は、

上記に該当すると思しきliquidファイルを丸ごとお送りいただければ、

(プライベートメッセージでも構いません。)

Symmetry用の変更内容をご提示できるかもしれません。

(必ず解決できる、というお約束はできないのですが。。。)

ご参考まで。

(キュー田辺)