Вывод WooCommerce нарушает мой код - неправильно закрытые теги - PullRequest
0 голосов
/ 25 января 2019

В настоящее время я занимаюсь разработкой сайта с помощью WooCommerce и использую систему шаблонов Twig, я работаю над шаблоном архива и приведу в качестве примера приведенный ниже код:

{% extends 'page.twig' %}

{% block before_article %}
    <div class="row">
        <div class="col-md-12">
            {% do action('woocommerce_before_main_content') %}
        </div>
    </div>
{% endblock %}

{% block page_header %}
    <header>
        <h1>{{ title|e2 }}</h1>
        {% block below_h1 %}
            {% do action('woocommerce_archive_description') %}
        {% endblock %}
    </header>
{% endblock %}

{% block primary_block %}

    {% if products|length > 0 %}

        <div class="before-products">
            {% do action('woocommerce_before_shop_loop') %}
        </div>

        <div class="products">
            <div class="row flex">
                {% for post in products %}
                    {% include ["partials/tease-product.twig"] %}
                {% endfor %}
            </div>
        </div>

        <div class="after-products">
            {% do action('woocommerce_after_shop_loop') %}
        </div>

    {% else %}

        <div class="no-products">
            {% do action('woocommerce_no_products_found') %}
        </div>

    {% endif %}

    {% do action('woocommerce_after_main_content') %}

{% endblock  %}

Однако код, который генерирует WooCommerce с помощью хуков действий, нарушает работу сайта, поскольку он, похоже, не закрывает теги должным образом - особенно при использовании тега <main>.

Например, с этим битом:

{% block before_article %}
    <div class="row">
        <div class="col-md-12">
            {% do action('woocommerce_before_main_content') %}
        </div>
    </div>
{% endblock %}

Код ниже не только из этого раздела, но и весь код до закрытия тега <main>:

            <div class="row">
    <div class="col-md-12">
        <div id="primary" class="content-area"><main id="main" class="site-main" role="main">        </div>
</div>
        <div class="row">
            <div class="col-md-12">
                <article class="general-content">

                        <header>
    <h1>Collar</h1>
                            </header>

                    <div class="content">



    <div class="no-products">
        <p class="woocommerce-info">No products were found matching your selection.</p>
    </div>


</main>

Кстати, я временно удалил хлебные крошки WooCommerce, и поэтому вы не видите их в коде выше.

Кажется, он делает это с большинством хуков действий, когда я удалил этот первый хук действий, но я все еще нашел другие неуместные <main> элементы в источнике.

1 Ответ

0 голосов
/ 25 января 2019

Исправлено.

Не осознавал, что эти конкретные действия выводили код макета, поэтому изменили его на следующее:

{% block before_article %}
    {% do action('woocommerce_before_main_content') %}
{% endblock %}

, а затем изменили положение {% do action('woocommerce_after_main_content') %}, чтобы получилосьв правильном месте относительно {% do action('woocommerce_before_main_content') %}, чтобы закрыть теги.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...