📘 公式リファレンス🔧 リファレンス/フィルター初級
compact フィルター(配列から空値を削除)
配列から nil(空値)の要素をすべて削除し、値を持つ要素のみを残す。map フィルターで取得した値に nil が混在するときに活用する。
用途
商品の比較価格(compare_at_price)のように、設定されていない商品の値が nil になる場合、それらを除外して価格リストを整形するときに使う。
設置場所
Liquid テンプレート内で `{{ array | compact }}` の形で使用する。通常は map フィルターの直後に続ける。例: `collection.products | map: 'compare_at_price' | compact`。
注意点
compact は配列のみに対応し、文字列や数値に対しては機能しない。map で取得した結果が必ず nil を含む場合のみ有効で、すべての要素が値を持つ配列に対しては変化がない。他の配列操作フィルター(sort、reverse など)と組み合わせるときは順序に注意する。
仕様
30 行 / json{
"category": "array",
"deprecated": false,
"deprecation_reason": "",
"description": "",
"parameters": [],
"return_type": [
{
"type": "array",
"name": "",
"description": "",
"array_value": "untyped"
}
],
"examples": [
{
"name": "",
"description": "",
"syntax": "",
"path": "/collections/all",
"raw_liquid": "{%- assign original_prices = collection.products | map: 'compare_at_price' -%}\n\nOriginal prices:\n\n{% for price in original_prices -%}\n - {{ price }}\n{%- endfor %}\n\n{%- assign compacted_original_prices = original_prices | compact -%}\n\nOriginal prices - compacted:\n\n{% for price in compacted_original_prices -%}\n - {{ price }}\n{%- endfor %}",
"parameter": false,
"display_type": "text",
"show_data_tab": true
}
],
"summary": "Removes any `nil` items from an array.",
"syntax": "array | compact",
"name": "compact"
}出典・ライセンス
- Repository:
- https://github.com/Shopify/theme-liquid-docs
- License:
- MIT
このコードは Shopify 著作の MIT ライセンスソースです。 原本の著作権は Shopify が保有します。日本語訳は ALSEL によるものです。
関連項目
📘 公式リファレンス🔧 リファレンス/フィルター初級
avatar フィルター(顧客アバター画像HTML生成)
顧客アバターが存在する場合、それを表示する HTML タグを生成するフィルター。customer オブジェクトに対して使用する。
📁 theme-liquid-docs·MIT·19 行
📘 公式リファレンス🔧 リファレンス/フィルター初級
default_errors フィルター(フォーム送信エラーを日本語化)
form.errors の各エラーコードに対応する既定のエラーメッセージを自動生成するフィルター。フォーム送信時の入力値不正や必須項目空白などのエラーを言語別に出力する。
📁 theme-liquid-docs·MIT·19 行
📘 公式リファレンス🔧 リファレンス/フィルター初級
date フィルター(日付を指定形式でフォーマット)
日付値を指定されたフォーマット文字列に従って整形する。フォーマット文字列が空の場合は元の値がそのまま返される。入力が日付に変換できない場合も元の値が返される。
📁 theme-liquid-docs·MIT·19 行
📘 公式リファレンス🔧 リファレンス/フィルター初級
payment_terms フィルター(Shop Pay分割払いバナーを生成)
product フォームまたは cart フォームに対して使用し、Shop Pay の分割払いオプションを表示するための HTML を生成するフィルター。顧客が購入時に分割払いプランを選択できるようにする。
📁 theme-liquid-docs·MIT·19 行
📘 公式リファレンス🔧 リファレンス/フィルター初級
abs フィルター(数値の絶対値を取得)
負の数を正の数に変換する。数値の絶対値(ゼロからの距離)を返すフィルター。
📁 theme-liquid-docs·MIT·30 行
📘 公式リファレンス🔧 リファレンス/フィルター初級
append フィルター(文字列の末尾に追加)
文字列の末尾に別の文字列を連結するフィルター。URL パスの結合やテキストの接尾辞追加に使う。
📁 theme-liquid-docs·MIT·30 行