metafield_tag
根据 metafield object 生成 HTML 字符串。该 tag 适用于在主题中直接渲染内容,可根据数据类型自动生成标准的 HTML 元素并附带 class 属性。
列表类型目前仅支持
list.single_line_text_field与list.metaobject_reference。
{{#metafield_tag metafield /}}
必选参数
metafield metafield:要转换为 HTML 字符串的对象。
可选参数
-
fieldstring:字段名称。当metafield类型为metaobject_reference或list.metaobject_reference时必填,用于指定从metaobject中输出的字段(仅支持single_line_text_field字段类型)。 -
list_formatstring:列表格式。仅对list.single_line_text_field和list.metaobject_reference类型生效。默认输出无序列表<ul>;若值为ordered,则输出有序列表<ol>。
例子
由于不同类型的 metafield 转换为 HTML 字符串的规则有所不同,以下按类型列举具体的使用示例:
基础类型
| 类型 | HTML 输出 |
|---|---|
boolean | <span class="metafield-boolean">...</span> |
single_line_text_field | <span class="metafield-single_line_text_field">...</span> |
multi_line_text_field | <span class="metafield-multi_line_text_field">...</span> |
rich_text_field | <div class="metafield-rich_text_field">...</div> |
color | <span class="metafield-color">...</span> |
rating | <span class="metafield-rating">...</span> |
number_integer | <span class="metafield-number_integer">...</span> |
number_decimal | <span class="metafield-number_decimal">...</span> |
money | <span class="metafield-money">...</span> |
date | <time datetime="..." class="metafield-date">...</time> |
date_time | <time datetime="..." class="metafield-date_time">...</time> |
url | <a href="..." class="metafield-url">...</a> |
link | <a href="..." class="metafield-url">...</a> |
json | <script type="application/json" class="metafield-json">...</script> |
{{#metafield_tag variable /}}
{{#var mf = product | get_metafields("my_fields") /}}
<!-- boolean -->
{{#metafield_tag mf.is_new_arrival /}}
<!-- single_line_text_field -->
{{#metafield_tag mf.short_description /}}
<!-- multi_line_text_field -->
{{#metafield_tag mf.material_note /}}
<!-- rich_text_field -->
{{#metafield_tag mf.detail_description /}}
<!-- color -->
{{#metafield_tag mf.color_code /}}
<!-- rating -->
{{#metafield_tag mf.customer_rating /}}
<!-- number_integer -->
{{#metafield_tag mf.inventory_limit /}}
<!-- number_decimal -->
{{#metafield_tag mf.fabric_weight /}}
<!-- money -->
{{#metafield_tag mf.member_price /}}
<!-- date -->
{{#metafield_tag mf.release_date /}}
<!-- date_time -->
{{#metafield_tag mf.release_time /}}
<!-- url -->
{{#metafield_tag mf.size_guide_url /}}
<!-- link -->
{{#metafield_tag mf.brand_link /}}
<!-- json -->
{{#metafield_tag mf.spec_json /}}
复杂类型
| 类型 | HTML 输出 |
|---|---|
collection_reference | <a href="..." class="metafield-collection_reference">...</a> |
page_reference | <a href="..." class="metafield-page_reference">...</a> |
product_reference | <a href="..." class="metafield-product_reference">...</a> |
variant_reference | <a href="..." class="metafield-variant_reference">...</a> |
file_reference | <img src="//..." loading="lazy" class="metafield-file_reference" /> <video playsinline="playsinline" preload="metadata" poster="//..."><source src="//..." type="video/mp4"></video> <a href="//..." class="metafield-file_reference"><img src="..." loading="lazy"></a> |
{{#metafield_tag variable /}}
{{#var mf = product | get_metafields("my_fields") /}}
<!-- collection_reference -->
{{#metafield_tag mf.related_collection /}}
<!-- page_reference -->
{{#metafield_tag mf.size_guide_page /}}
<!-- product_reference -->
{{#metafield_tag mf.related_product /}}
<!-- variant_reference -->
{{#metafield_tag mf.recommended_variant /}}
<!-- file_reference image -->
{{#metafield_tag mf.product_image /}}
<!-- file_reference video -->
{{#metafield_tag mf.product_video /}}
<!-- file_reference generic_file -->
{{#metafield_tag mf.manual_file /}}
度量类型
| 类型 | HTML 输出 |
|---|---|
weight | <span class="metafield-weight"><span class="metafield-weight_value">...</span><span class="metafield-weight_unit">...</span></span> |
volume | <span class="metafield-volume"><span class="metafield-volume_value">... </span><span class="metafield-volume_unit">...</span></span> |
dimension | <span class="metafield-dimension"><span class="metafield-dimension_value">...</span><span class="metafield-dimension_unit">...</span></span> |
{{#metafield_tag variable /}}
{{#var mf = product | get_metafields("my_fields") /}}
<!-- weight -->
{{#metafield_tag mf.package_weight /}}
<!-- volume -->
{{#metafield_tag mf.package_volume /}}
<!-- dimension -->
{{#metafield_tag mf.package_width /}}
metaobject_reference
| 属性 | 值 |
|---|---|
class | metafield-single_line_text_field |
field 指定的字段,其类型必须为 single_line_text_field。
{{#metafield_tag variable field="field_name" /}}
{{#var mf = product | get_metafields("my_fields") /}}
{{#metafield_tag mf.metaobject field="color_name" /}}
list.metaobject_reference
| 属性 | 值 |
|---|---|
class | metafield-single_line_text_field-array |
field 指定的字段,其类型必须为 single_line_text_field。
默认输出无序列表 <ul>。若要输出有序列表 <ol>,需将 list_format 参数设置为 ordered。
{{#metafield_tag variable field="field_name" list_format="ordered" /}}
{{#var mf = product | get_metafields("my_fields") /}}
<!-- normal -->
{{#metafield_tag mf.metaobjects field="color_name" /}}
<!-- list_format="ordered" -->
{{#metafield_tag mf.metaobjects field="color_name" list_format="ordered" /}}
list.single_line_text_field
| 属性 | 值 |
|---|---|
class | metafield-single_line_text_field-array |
默认输出无序列表 <ul>。若要输出有序列表 <ol>,需将 list_format 参数设置为 ordered。
{{#metafield_tag variable list_format="ordered" /}}
{{#var mf = product | get_metafields("my_fields") /}}
<!-- normal -->
{{#metafield_tag mf.available_colors /}}
<!-- list_format="ordered" -->
{{#metafield_tag mf.available_colors list_format="ordered" /}}
这篇文章对你有帮助吗?
SHOPLINE