Я пытаюсь выполнить разбиение на страницы со списком товаров в соответствии с текущей / выбранной категорией, используя Twig / Timber - Wordpress. - PullRequest
0 голосов
/ 16 ноября 2018

Archive.php
Я использовал запрос древесины здесь.Я открыт для всех предложений.Ниже приведен код PHP для страницы архива.Я использовал запрос древесины здесь.Я открыт для всех предложений.Ниже приведен код php для страницы архива.

    $templates = array( 'archive.twig', 'index.twig' );
    $context = Timber::get_context();
    if ( is_day() ) {
        $context['title'] = 'Archive: ' . get_the_date( 'D M Y' );
    } else if ( is_month() ) {
        $context['title'] = 'Archive: ' . get_the_date( 'M Y' );
    } else if ( is_year() ) {
        $context['title'] = 'Archive: ' . get_the_date( 'Y' );
    } else if ( is_tag() ) {
        $context['title'] = single_tag_title( '', false );
    } else if ( is_category() ) {
        $context['title'] = single_cat_title( '', false );
        array_unshift( $templates, 'archive-' . get_query_var( 'cat' ) . '.twig' );
    } else if ( is_post_type_archive() ) {
        $context['title'] = post_type_archive_title( '', false );
        array_unshift( $templates, 'archive-' . get_post_type() . '.twig' );
    }

    $context['title'] = 'Archive';
    $context['term_page'] = new TimberTerm();
    $context['posts'] = new Timber\PostQuery();
    $context['footer_left'] = Timber::get_widgets('footer_left');
    $context['footer_center'] = Timber::get_widgets('footer_center');
    $context['footer_right'] = Timber::get_widgets('footer_right');
    $context['lang_bar'] = Timber::get_widgets('lang_bar');
    $context['header_menu'] = Timber::get_widgets('header_menu');
    $context['options'] = get_fields('options');

    Timber::render( $templates, $context );

Archive.twig
Я использовал здесь шаблон веточки.Я открыт для всех предложений.Ниже приведен код ветки для страницы шаблона архива.Это страница списка продуктов с определенной категорией.

    {% extends "headerArchive.twig" %}

    {% block content%}

    {% for post in posts %}
        {% include ['tease-'~post.post_type~'.twig', 'tease.twig'] %}
    {% endfor %}
    {% endblock %}

tease-product.twig
Я использовал здесь шаблон веточки.Я открыт для всех предложений.Ниже приведен код ветки для отдельной страницы с информацией о продукте.Это шаблон продукта для страницы списка с определенной категорией.

    <div class="veg_product_details">
        <div class="veg_product_blog_content">
            <div class="veg_1">
                <div class="col-sm-6 left_padding_0">
                    <div class="veg_img">
                        <img src="{{post.thumbnail.src}}" alt="product" class="img-responsive">
                    </div>
                </div>
                <div class="col-sm-6">
                    <div class="veg_details">
                        <h3>{{post.title}}</h3>
                        <p>{{post.preview[:50]}}</p>

                        <div class="veg_item_btn">
                            <div class="pull-left">
                                <a class="btn view_btn veg_btn" href="{{post.link}}">View Details</a>
                            </div>
                            <div class="pull-right">
                                <img src="{{theme.link}}/templates/images//veg_logo.png" class="img-responsive margin_img" alt="logo">
                            </div>
                        </div>
                        <div class="clearfix"></div>
                    </div>
                </div>
                <div class="clearfix"></div>
            </div>
        </div>
    </div>

pagination.twig

    {% if posts.pagination.pages is not empty %}
        <nav class="pagination-block">
            <ul class="pagination">
                {% if pagination.pages|first and pagination.pages|first.current != true %}
                    <li class="first btn">
                        <a href="{{ pagination.pages|first.link }}">First</a>
                    </li>
                {% else %}
                    <li class="first btn disabled">
                        <button disabled>First</button>
                    </li>
                {% endif %}

                {% if pagination.prev %}
                    <li class="prev btn">
                        <a href="{{ pagination.prev.link }}">Previous</a>
                    </li>
                {% else %}
                    <li class="prev btn disabled">
                        <button disabled>Previous</button>
                    </li>
                {% endif %}

                {% for page in pagination.pages %}
                    {% if page.link %}
                        <li>
                            <a href="{{ page.link }}" class="{{ page.class }}">{{ page.title }}</a>
                        </li>
                    {% else %}
                        <li class="current">
                            <span class="{{ page.class }}">{{ page.title }}</span>
                        </li>
                    {% endif %}
                {% endfor %}

                {% if pagination.next %}
                    <li class="next btn">
                        <a href="{{ pagination.next.link }}">
                            Next
                        </a>
                    </li>
                {% else %}
                    <li class="next btn disabled">
                        <button disabled>
                            Next
                        </button>
                    </li>
                {% endif %}
                {% if pagination.pages|last and pagination.pages|last.current != true %}
                    <li class="last btn">
                        <a href="{{ pagination.pages|last.link }}">Last</a>
                    </li>
                {% else %}
                    <li class="last btn disabled">
                        <button disabled>Last</button>
                    </li>
                {% endif %}
            </ul>
        </nav>
    {% endif %}

Я хочу разместить страницы на своей странице списка категорий продуктов.Я получаю другую проблему.Когда я перехожу на следующую страницу [url: myserverurl / product-category / poultry / page / 2], данные не отображаются и страница 404 отображается.Как мне решить все эти проблемы?

...