shopify自定义头部导航

 

简述:默认调用标签 {%- liquid if section.settings.menu != blank if section.settings.menu_type_desktop == &#39;dropdown&#39; render &#39;header-dropdown-menu&#39; elsif section.settings.menu_type_desktop != &#39;drawer&#39; render &#39;header-mega-menu&#39; endif endif %}前端效果如下 <nav class="header__inline-menu"> <ul class="list-menu list-menu--inline" role="list"><li><header-menu> <details id="Details-HeaderMenu-1" class="mega-menu"> <summary id="HeaderMenu-produc...

详情:


默认调用标签

    {%- liquid

      if section.settings.menu != blank

        if section.settings.menu_type_desktop == 'dropdown'

          render 'header-dropdown-menu'

        elsif section.settings.menu_type_desktop != 'drawer'

          render 'header-mega-menu'

        endif

      endif

    %}



前端效果如下

  <nav class="header__inline-menu">

  <ul class="list-menu list-menu--inline" role="list"><li><header-menu>

            <details id="Details-HeaderMenu-1" class="mega-menu">

              <summary id="HeaderMenu-products" class="header__menu-item list-menu__item link focus-inset" role="button" aria-expanded="false" aria-controls="MegaMenu-Content-1">

                <span class="header__active-menu-item">Products</span>

                <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">

  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">

</path></svg>


              </summary>

              <div id="MegaMenu-Content-1" class="mega-menu__content color-scheme-66d7f298-aeef-43e2-9212-1d262cd03b71 gradient motion-reduce global-settings-popup" tabindex="-1">

                <ul class="mega-menu__list page-width mega-menu__list--condensed" role="list"><li>

                      <a id="HeaderMenu-products-customized-letter-signs" href="/collections/customized-letter-signs" class="mega-menu__link mega-menu__link--level-2 link mega-menu__link--active" aria-current="page">

                        Customized Letter Signs

                      </a></li><li>

                      <a id="HeaderMenu-products-3d-logos-lightbox-signs" href="/collections/3d-logos-lightbox-signs" class="mega-menu__link mega-menu__link--level-2 link">

                        3D Logos &amp; Lightbox Signs

                      </a></li><li>

                      <a id="HeaderMenu-products-customized-marquee-letters" href="/collections/customized-marquee-letters" class="mega-menu__link mega-menu__link--level-2 link">

                        Customized Marquee Letters

                      </a></li><li>

                      <a id="HeaderMenu-products-customized-neon-signs" href="/collections/customized-neon-signs" class="mega-menu__link mega-menu__link--level-2 link">

                        Customized Neon Signs

                      </a></li><li>

                      <a id="HeaderMenu-products-led-light-boxes-backlit-displays" href="/collections/led-light-boxes-backlit-displays" class="mega-menu__link mega-menu__link--level-2 link">

                        LED Light Boxes &amp; Backlit Displays

                      </a></li><li>

                      <a id="HeaderMenu-products-customized-door-signs" href="/collections/customized-door-signs" class="mega-menu__link mega-menu__link--level-2 link">

                        Customized Door Signs

                      </a></li><li>

                      <a id="HeaderMenu-products-products-monthly-new" href="/collections/all" class="mega-menu__link mega-menu__link--level-2 link">

                        Products Monthly New

                      </a></li><li>

                      <a id="HeaderMenu-products-products-coming-soon" href="/collections/all" class="mega-menu__link mega-menu__link--level-2 link">

                        Products Coming Soon

                      </a></li><li>

                      <a id="HeaderMenu-products-product-featured-1" href="/collections/all" class="mega-menu__link mega-menu__link--level-2 link">

                        Product Featured 1

                      </a></li><li>

                      <a id="HeaderMenu-products-product-featured-2" href="/collections/all" class="mega-menu__link mega-menu__link--level-2 link">

                        Product Featured 2

                      </a></li></ul>

              </div>

            </details>

          </header-menu></li><li><a id="HeaderMenu-buy" href="/" class="header__menu-item list-menu__item link link--text focus-inset">

            <span>Buy</span>

          </a></li><li><a id="HeaderMenu-explore" href="/blogs/explore" class="header__menu-item list-menu__item link link--text focus-inset">

            <span>Explore</span>

          </a></li><li><header-menu>

            <details id="Details-HeaderMenu-4" class="mega-menu" open="">

              <summary id="HeaderMenu-about" class="header__menu-item list-menu__item link focus-inset" role="button" aria-expanded="true" aria-controls="MegaMenu-Content-4">

                <span>About</span>

                <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">

  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">

</path></svg>


              </summary>

              <div id="MegaMenu-Content-4" class="mega-menu__content color-scheme-66d7f298-aeef-43e2-9212-1d262cd03b71 gradient motion-reduce global-settings-popup" tabindex="-1">

                <ul class="mega-menu__list page-width mega-menu__list--condensed" role="list"><li>

                      <a id="HeaderMenu-about-overview" href="/pages/overview-of-lcsign" class="mega-menu__link mega-menu__link--level-2 link">

                        Overview

                      </a></li><li>

                      <a id="HeaderMenu-about-contact" href="/pages/contact" class="mega-menu__link mega-menu__link--level-2 link">

                        Contact

                      </a></li><li>

                      <a id="HeaderMenu-about-reviews" href="/pages/reviews" class="mega-menu__link mega-menu__link--level-2 link">

                        Reviews

                      </a></li><li>

                      <a id="HeaderMenu-about-product-gallery" href="/pages/gallery" class="mega-menu__link mega-menu__link--level-2 link">

                        Product Gallery

                      </a></li><li>

                      <a id="HeaderMenu-about-trade-program" href="/pages/trade-program" class="mega-menu__link mega-menu__link--level-2 link">

                        Trade Program

                      </a></li><li>

                      <a id="HeaderMenu-about-vr-exhibition-hall" href="/pages/vr-showroom" class="mega-menu__link mega-menu__link--level-2 link">

                        VR Exhibition Hall

                      </a></li></ul>

              </div>

            </details>

          </header-menu></li><li><header-menu>

            <details id="Details-HeaderMenu-5" class="mega-menu">

              <summary id="HeaderMenu-support" class="header__menu-item list-menu__item link focus-inset" role="button" aria-expanded="false" aria-controls="MegaMenu-Content-5">

                <span>Support</span>

                <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">

  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">

</path></svg>


              </summary>

              <div id="MegaMenu-Content-5" class="mega-menu__content color-scheme-66d7f298-aeef-43e2-9212-1d262cd03b71 gradient motion-reduce global-settings-popup" tabindex="-1">

                <ul class="mega-menu__list page-width mega-menu__list--condensed" role="list"><li>

                      <a id="HeaderMenu-support-faqs" href="/pages/faqs" class="mega-menu__link mega-menu__link--level-2 link">

                        FAQs

                      </a></li><li>

                      <a id="HeaderMenu-support-how-to-order" href="/pages/order-guide" class="mega-menu__link mega-menu__link--level-2 link">

                        How to Order

                      </a></li><li>

                      <a id="HeaderMenu-support-installation-guide" href="/pages/installation-guide" class="mega-menu__link mega-menu__link--level-2 link">

                        Installation Guide

                      </a></li><li>

                      <a id="HeaderMenu-support-order-status-track" href="/pages/order-track" class="mega-menu__link mega-menu__link--level-2 link">

                        Order Status Track

                      </a></li><li>

                      <a id="HeaderMenu-support-return-exchange" href="/pages/return-exchange-policy" class="mega-menu__link mega-menu__link--level-2 link">

                        Return &amp; Exchange

                      </a></li><li>

                      <a id="HeaderMenu-support-shipping-delivery" href="/pages/shipping-delivery-policy" class="mega-menu__link mega-menu__link--level-2 link">

                        Shipping &amp; Delivery

                      </a></li></ul>

              </div>

            </details>

          </header-menu></li></ul>

</nav>  


改成这个

<nav class="header__inline-menu">

  <ul class="list-menu list-menu--inline" role="list">

    {%- for item in linklists.main-menu.links -%}

      <li>

        {%- if item.links.size > 0 -%}

          <header-menu>

            <details id="Details-HeaderMenu-{{ forloop.index }}" class="mega-menu">

              <summary id="HeaderMenu-{{ item.title | handleize }}" class="header__menu-item list-menu__item link focus-inset" role="button" aria-expanded="false" aria-controls="MegaMenu-Content-{{ forloop.index }}">

                <span>{{ item.title }}</span>

                <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">

  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">

</path></svg>


              </summary>

              <div id="MegaMenu-Content-{{ forloop.index }}" class="mega-menu__content color-scheme-66d7f298-aeef-43e2-9212-1d262cd03b71 gradient motion-reduce global-settings-popup" tabindex="-1">

                <ul class="mega-menu__list page-width mega-menu__list--condensed" role="list">

              

                {%- for subitem in item.links -%}

                <li>

                      <a id="HeaderMenu-{{ subitem.title | handleize }}" href="{{ subitem.url }}" class="mega-menu__link mega-menu__link--level-2 link">


                       {%- if subitem.type == 'product_link' -%}

                    {%- assign product = all_products[subitem.object.handle] -%}

                    {%- if product -%}

                      {%- if product.featured_image -%}

                        <img src="{{ product.featured_image | img_url: 'small' }}" alt="{{ product.title }}">

                      {%- else -%}

                        <img src="{{ 'placeholder.jpg' | asset_url }}" alt="{{ product.title }}">

                      {%- endif -%}

                    {%- endif -%}

                  {%- endif -%}

                  <div>{{ subitem.title }}</div>


                      </a></li>

                 {%- endfor -%}


              </ul>

              </div>

            </details>

          </header-menu>

        {%- else -%}

          <a id="HeaderMenu-{{ item.title | handleize }}" href="{{ item.url }}" class="header__menu-item list-menu__item link link--text focus-inset">

            <span>{{ item.title }}</span>

          </a>

        {%- endif -%}

      </li>

    {%- endfor -%}

  </ul>

</nav>










现在可以根据这个自定义进行改写上面默认的导航



<nav class="mega-menu">

<ul>

  {%- for item in linklists.main-menu.links -%}

    <li>

      <a href="{{ item.url }}">{{ item.title }}</a>

      {%- if item.links.size > 0 -%}

        <ul>

          {%- for subitem in item.links -%}

            <li>

              <a href="{{ subitem.url }}">

                      {%- if subitem.type == 'product_link' -%}

                      {%- assign product = all_products[subitem.object.handle] -%}

                      {%- if product -%}

                        {%- if product.featured_image -%}

                            <img src="{{ product.featured_image | img_url: 'small' }}" alt="{{ product.title }}">

                        {%- else -%}

                          <img src="{{ 'placeholder.jpg' | asset_url }}" alt="{{ product.title }}">

                        {%- endif -%}

                      {%- endif -%}

                    {%- endif -%}

                

                <div>{{ subitem.title }}</div>


              </a>

        

            </li>

          {%- endfor -%}

        </ul>

      {%- endif -%}

    </li>

  {%- endfor -%}

</ul>


</nav>

里面这个如果<a href="{{ item.url }}">{{ item.title }}</a>有子导航时就输出这个<a >{{ item.title }}</a>不要链接就如下那样写:


<nav class="mega-menu">

<ul>

  {%- for item in linklists.main-menu.links -%}

    <li>

      {%- if item.links.size > 0 -%}

        <!-- 如果有子导航项,只输出标题 -->

        <span>{{ item.title }}</span>

        <ul>

          {%- for subitem in item.links -%}

            <li>

              <a href="{{ subitem.url }}">

                {%- if subitem.type == 'product_link' -%}

                  {%- assign product = all_products[subitem.object.handle] -%}

                  {%- if product -%}

                    {%- if product.featured_image -%}

                      <img src="{{ product.featured_image | img_url: 'small' }}" alt="{{ product.title }}">

                    {%- else -%}

                      <img src="{{ 'placeholder.jpg' | asset_url }}" alt="{{ product.title }}">

                    {%- endif -%}

                  {%- endif -%}

                {%- endif -%}

                <div>{{ subitem.title }}</div>

              </a>

            </li>

          {%- endfor -%}

        </ul>

      {%- else -%}

        <!-- 如果没有子导航项,输出带有链接的标题 -->

        <a href="{{ item.url }}">{{ item.title }}</a>

      {%- endif -%}

    </li>

  {%- endfor -%}

</ul>

</nav>