メタオブジェクトを出力した際に [" 値 "] と出力されるのを直したいです。
左右の [" "] という飾りが不要なのですが、表示されてしまいます。
テーマは無料 Taste を利用しています。
初歩的な質問ですが、修正箇所が分からず困っております。
メタオブジェクトのリスト型フィールドを出力する際、["hoge","piyo","fuga"] のように配列形式で表示される問題についての質問です。
問題の詳細:
[" "] という装飾が付く解決方法:
Qcoltd氏が調査し、以下の対処法を提示:
.value を追加することで装飾を除去可能{{ product.metafields.custom.metaobject.value.textlist.value }}hogepiyo fuga のように値のみが出力される[0]、[1]、[2] などのインデックスを使用結果:
質問者は .value を追加することで問題を解決。単一テキストでは問題なく出力できるが、リスト値をそのまま出力すると装飾が付くことを確認しました。
メタオブジェクトを出力した際に [" 値 "] と出力されるのを直したいです。
左右の [" "] という飾りが不要なのですが、表示されてしまいます。
テーマは無料 Taste を利用しています。
初歩的な質問ですが、修正箇所が分からず困っております。
興味があり調査してみましたが、
状況を把握しきれていないため見当違いな回答になっていましたら、
申し訳ございません。
私の開発ストアで試したところ、
コード編集でメタオブジェクトの値を出力するようにした際に、
リストの値を表示させようとすると、
質問者様と同様の状況になりました。
私が試した内容は下記です。
{{ product.metafields.custom.metaobject.value.textlist }}
textlistは単一テキストのリストです。
hoge
piyo
fuga
と入力してあります。
上記のコードによる出力は下記のようになりました。
["hoge","piyo","fuga"]
さて、
質問者様も同様の状況か分かりませんが、
上記から[“”]という飾りを外したい場合、
(飾りではなく、厳密には配列の区切りを意味しているのですが、ここでは飾りと表現します。)
下記のようにします。
{{ product.metafields.custom.metaobject.value.textlist.value }}
こうすると、
hogepiyofuga
のように出力されます。
しかし、
「値のリスト」を使用する多くの場合、
1つずつ値を取り出したいはずですので、
下記のようにした方が良いかもしれません。
{{ product.metafields.custom.metaobject.value.textlist.value[0] }}
こうすることで、
hoge
とだけ出力されます。
なお、
最後の[0]を[1]にすればpiyo、[2]にすればfuga
が出力されます。
参考になれば幸いです。
(キュー田辺)
{{ product.metafields.custom.metaobject.value.textlist.value[0] }}
この方法でproductのリストの場合でも取得できますか?
キュー田辺様
ご教示いただき誠にありがとうございました!
末尾にvalueを加えることで、[" "]の飾りを外すことができました。
ご推測の通り、リストの値をそのまま出力すると飾りがついてしまいます。単一のテキストでは問題なく出力できておりました。
非常に勉強になりました。