FROM CACHE - jp_header
解決済

MEGA MENUなどに表示される、第2階層のナビ一覧に、そのページのカスタムフィールドを取得し表示する事は可能でしょうか?

k2b8692
観光客
18 0 1
{% assign menu = linklists[section.settings.main_linklist] %}

{% for link in menu.links %}

  {% if link.links != blank %}
  {% assign link-title = link.title | strip %}

	{% assign is-mega-menu = false %}
	{% if section.settings.enable_mega_menu == true %}
		{% for block in section.blocks %}
			{% assign block-title = block.settings.mega-menu | strip %}
			{% if block-title == link-title  %}
				{% assign is-mega-menu = true %}
				{% assign mega-menu-block = block %}
			{% endif %}
		{% endfor %}
	{% endif %}


	<li class="site-nav--has-dropdown {% if is-mega-menu %} mega-menu{% endif %}" aria-haspopup="true">
		<a href="{{ link.url }}" class="site-nav__link">{{ link.title }}<span class="icon icon-arrow-down" aria-hidden="true"></span>
		</a>
		<ul class="site-nav__dropdown dropdown__list">
			{% for sub_link in link.links %}
				{% if sub_link.levels > 0 %}
				<li class="dropdown__cat cat" aria-haspopup="true">
					<a href="{{ sub_link.url }}" class="cat__link">{{ sub_link.title | escape }}</a>
					<ul class="dropdown__artists">
						{% for sub_sub_link in sub_link.links %}
						<li><a href="{{ sub_sub_link.url }}" class="site-nav__link">{{ sub_sub_link.title | escape }}</a></li>
						{% endfor %}
					</ul>
				</li>
				{% else %}
				<li class="cat"><a href="{{ sub_link.url }}" class="cat__link">{{ sub_link.title | escape }}</a></li>
				{% endif %}
			{% endfor %}
		</ul>
	</li>

    {% else %}

    <li><a href="{{ link.url }}" class="site-nav__link">{{ link.title }}</a></li>

  {% endif %}

{% endfor %}

 

と言ったメガナビで、「sub_sub_link」のページに設定されているカスタムフィールドを表示したいのですが、
うまくいかず表示できずにいます。

もし宜しければお知恵をお借りできないでしょうか?
よろしくお願いいたします。

2 件の受理された解決策
Jizo_Inagaki
Shopify Partner
1006 380 697

成功

もう不要かもしれませんが、よりシンプルな形にできそうだったので追記します。

 

 

{{ all_products['ハンドル名'].metafields.hoge.fuga }}

 

 

collectionを使わずとも、必要なページのハンドル名を記載すれば値が取れました。

 

Jizo_Inagaki | フリーランスのwebデザイナー
- テーマのカスタム承れます。
- 記載した回答で解決できましたらベストソリューションの承認をお願いします。
- DMや指名による対応はご依頼として有料でのみ承ります。

元の投稿で解決策を見る

Jizo_Inagaki
Shopify Partner
1006 380 697

成功

状況を鑑みまして、原因は不明なものの状況がある程度見えてはきたので、一応ですが即席で以下のコードを作ってみました。

{% assign collectionHandle = sub_sub_link.url | split: "/" | last %}
取得した値の確認用: {{ collectionHandle }}<br>
{{ collections[collectionHandle].metafields.photo.photo }}

 

コレクションのハンドルをURLの末尾からとり、それを設定するサンプルです。

実際に動かして試していないのですが、恐らく動作するかと思います。

Jizo_Inagaki | フリーランスのwebデザイナー
- テーマのカスタム承れます。
- 記載した回答で解決できましたらベストソリューションの承認をお願いします。
- DMや指名による対応はご依頼として有料でのみ承ります。

元の投稿で解決策を見る

27件の返信27