OS2.0からメタフィールドが実装できると思います。メタフィールド設定画面で「ファイル」があるのですが、実際にそのファイル(商品説明の画像やPDF)を商品詳細ページに挿入する方法をご存知の方はいらっしゃいますか?
こちらでやってみたのですが、テキスト(動的)しか追加挿入できないようで困っています。
メタフィールド(OS2.0のカスタム項目)の「ファイル」タイプに登録した画像/PDFを商品詳細ページに表示・リンクする方法が議論。Liquid(Shopifyのテンプレート言語)の file_url フィルターでアップロードファイルのCDN URLを取得し、リンク表示できる点が共有。
実装例: product.metafields.my_fields._key | file_url を link_to でリンク化。ShopifyのCDNではdownload属性が効かないため、代替として target=“_blank” を使う注意点も提示。
Dawnテーマではテーマカスタマイザーから「商品情報」→「ブロックを追加」→「カスタムLiquid」を追加し、提示コードを貼り付ければ実装可能。メタフィールドのネームスペース/キーを自サイトの設定に合わせ、PDF未登録時は非表示になる条件分岐付き。
出力はシンプルなダウンロード用タグで、必要に応じてHTMLを追記可能。質問者は手順を理解し、目的のPDFリンク表示は解決した模様。
その後、関連コミュニティ投稿への見解を求める追加質問があり、現時点では未回答で議論は継続中。
OS2.0からメタフィールドが実装できると思います。メタフィールド設定画面で「ファイル」があるのですが、実際にそのファイル(商品説明の画像やPDF)を商品詳細ページに挿入する方法をご存知の方はいらっしゃいますか?
こちらでやってみたのですが、テキスト(動的)しか追加挿入できないようで困っています。
こういうことでしょうか?
{% assign file = product.metafields.my_fields._key | file_url %}
{{ ‘DOWNLOAD’ | link_to: file, target: ‘_blank’ }}
↓「abcd.pdf」をメタフィールドにアップロードした際の出力結果
メタフィールドが「ファイル」の場合、file_urlを付けることでアップロードしたファイルのURLが出力できます。
https://shopify.dev/api/liquid/filters/url-filters#file_url
これを商品詳細ページに挿入すれば良いかと思います。
ちなみにShopifyはファイルURLがCDNになるのでブラウザによってdownload属性が効きません。
その代わりとして「target=“_blank”」を入れてあります。
ありがとうございます。Liquidなど少々難しいので、もし可能でしたら再度教えていただけないでしょうか
何がわからなくて、最終的にどうしたいのか、具体的に教えていただけますか?
スキルによって実装は難しいので、外部パートナーに依頼することをお勧めします。
メタフィールドで商品詳細ページにPDFを表示させたいです。(おそらくメタフィールドのファイルを洗濯するかと)
Dawnでやってみましたが、PDFが商品詳細ページに表示されなかったので、手順などがわかればご教示いただきたいです。
⇨Liquidを触る必要はありますか?
⇨Liquidを触る必要はありますか?
基本的にメタフィールドを登録しただけでは出力されません。
テーマによってはテーマのコード編集が必要ですが、Dawnの場合はカスタマイザーで設定可能です。
{% assign field = product.metafields.my_fields.pdf %}
{% assign file = field | file_url %}
{% if field != blank %}
{{ 'ダウンロード' | link_to: file, target: '_blank' }}
{% endif %}
以前のコードに分岐を付けて、メタフィールドにPDFの登録がない場合は出力されないようにしています。
後は好きな位置にドラッグして保存すれば以下のHTMLで出力されます。
ダウンロード