Глобальная переменная Front Matter на всех страницах в теме BigCommerce

Я пытаюсь создать раскрывающееся меню, когда пользователь наводит курсор на мою навигацию, отображает информацию об учетной записи, такую ​​​​как предыдущие заказы.

Я использую Stencil/Cornerstone. Я попытался объявить Front Matter Object на page.html, используя

---
customer: 
    orders: 
        limit 5
--- 

но это, похоже, не работает, единственное место, где меню вытягивает заказы клиентов, - это если пользователь находится на странице учетной записи. Мне нужно, чтобы это было доступно на всех страницах, так как это основная навигация сайта.

меню-bar.html

(фрагмент)

{{#if customer}}
    <li class="nav-page"><a href="/account.php">My Account</a>
        <div class="sub-menu">
            <div class="nav-col">
                <h4>Hello, {{customer.name}}</h4>
            </div>
            <div class="nav-col">
                <!-- orders -->
                <h5>Orders</h5>
                <ul class="account-order-list">
                    {{#if customer.orders}} {{#each customer.orders}}
                    <li><a href="{{details_url}}"><i class="fa fa-tag" aria-hidden="true"></i> Order #{{id}}</a>
                        <div class="order-details-list">
                            <a class="details" href="{{details_url}}">
                                <span><strong>Date:</strong> {{date}} </span>
                                <span><strong>Amount:</strong> {{total.formatted}} </span>
                                <span><strong>Status:</strong> {{status}}</a></span>

                        </div>
                    </li>
                    {{/each}} {{else}}
                    <span>You have no orders.</span> {{/if}}
                </ul>
            </div>
            <div class="nav-col">
                <h5></h5>
            </div>
        </div>
    </li>
    {{else}}
    <li class="nav-page"><a href="/login.php">Sign In</a></li>
    {{/if}}
</ul>

person Devin Luby    schedule 07.12.2016    source источник


Ответы (1)


С точки зрения jekyll/liquid, если вам нужна глобальная переменная, вы можете объявить ее:

1 — в _config.yml

customer: 
    orders: 
        limit: 5 # and not "limit 5"

и используйте его так: {{ site.customer.orders.limit }}

2 — или в общем (для всех страниц) макете, таком как _layouts/default.html

Он будет доступен на любой странице с : {{ page.customer.orders.limit }}

person David Jacquel    schedule 08.12.2016