Как исключить известную категорию из списка блогов с помощью Twig и October CMS - PullRequest
0 голосов
/ 23 января 2020

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

Мой логик c должен был сначала проверить, были ли установлены категории в статьях, поэтому у меня дважды виджет на код. Затем я захотел получить оператор if, чтобы проверить, было или нет мое имя категории (или идентификатор, или что-либо, что можно использовать для отслеживания этого кота) в списке категорий моей статьи.

Я сделал мне удастся скрыть статьи только с одной категорией, но, поскольку эти статьи, скорее всего, будут иметь две разные категории, я полностью потерялся.

Поможет ли мне настройка полного списка категорий?

Если Вы знаете о некоторых заклинаниях магов c, чтобы помочь мне, пожалуйста, дайте мне знать.

<div class=main-layout-header></div>
<div class=main-layout-content>
    <h2 class="">All the News</h2>
    {% set posts = blogList.posts %}
        <div class="post-list">
            {% for post in posts %}
                {% if post.categories is not empty  %}
                    <div id="" class="news-card-layout category defined">
                        {% if post.image %}
                            <div class="news-card-layout__image">
                                <a href="{{ post.url }}"><img src="{{ post.image|media }}" alt="{{ post.title }}"></a>
                            </div>
                        {% endif %}
                        <div class="news-card-layout__details">
                        <div class="news-card-layout__infos">
                            <a href="{{ post.url }}"><h2 class="post-title" >{{ post.title }}</h2></a>
                            Posted
                            {% if post.categories.count %} in {% endif %}
                            {% for category in post.categories %}
                            <a href="{{ category.url }}">{{ category.name }}</a>{% if not loop.last %}, {% endif %}
                            {% endfor %}
                            on {{ post.published_at|date('Y-m-d G:i') }}
                        </div>
                        <div class="news-card-layout__excerpt">{{ post.summary|raw }}</div>
                    </div>
                </div>      

                {% else %}
                <div id="" class="news-card-layout category not defined">
                    {% if post.image %}
                        <div class="news-card-layout__image">
                            <a href="{{ post.url }}"><img src="{{ post.image|media }}" alt="{{ post.title }}"></a>
                        </div>
                    {% endif %}
                    <div class="news-card-layout__details">
                        <div class="news-card-layout__infos">
                            <a href="{{ post.url }}"><h2 class="post-title" >{{ post.title }}</h2></a>
                            Posted
                            {% if post.categories.count %} in {% endif %}
                            {% for category in post.categories %}
                            <a href="{{ category.url }}">{{ category.name }}</a>{% if not loop.last %}, {% endif %}
                            {% endfor %}
                            on {{ post.published_at|date('Y-m-d G:i') }}
                        </div>
                        <div class="news-card-layout__excerpt">
                            {{ post.summary|raw }}
                        </div>
                    </div>
                </div>
            {% endif %}
        {% endfor %}
    </div>

</div>

1 Ответ

1 голос
/ 24 января 2020

Почему бы не проверить длину (или в этом случае веточка будет считать количество в массиве) категорий.

{% if post.categories|length == 1 %}

- РЕДАКТИРОВАТЬ -

Также сам компонент может исключать категорию. Посмотрите на это.

enter image description here

...