Вопросы

цикл через оператор for, используя if / else с nunjucks и json

Я пытаюсь перебрать вложенный файл json с помощью nunjucks, дать каждому типу объекта определенный макет и отсортировать все по дате.

Итак, в моем случае у меня есть две коллекции событий и видео. Обе коллекции будут содержать множество событий и видео.

Мой файл называется /content.json и имеет следующую структуру:

{
    media: {
        events: [
            {
            content_id: "1",
            content_type: "event",
            date: "01-11-2019",
            etc: "etc"
            },
            {
            content_id: "2",
            content_type: "event",
            date: "01-08-2019",
            etc: "etc"
            }
        ],
        videos: [
            {
            content_id: "3",
            content_type: "video",
            date: "01-12-2019",
            etc: "etc"
            },
            {
            content_id: "4",
            content_type: "video",
            date: "01-09-2019",
            etc: "etc"
            }
        ]
    }
}

Я попытался получить другой объект, назначенный с помощью оператора if / else, а затем использовать цикл for для циклического просмотра массива, но это не удалось, см. Ниже:

{% for item in content.media %}
    {% if item == events %}
        {% for item in content.media.events %}
                {% include "components/event.njk" %}
        {% endfor %}
    {% elif item ==  video %}
        {% for item in content.media.videos %}
                {% include "components/video.njk" %}
        {% endfor %}
    {% endif %}
{% endfor %}

Мне никогда не приходилось пытаться отсортировать весь контент по дате, но я обнаружил:

{% for item in items|sort(attribute='date')%} 

Может ли кто-нибудь направить меня в правильном направлении?

Читать:
Невозможно привязать данные к таблице данных материалов Angular

Заранее спасибо.

AENM

Thnx Aikon, у меня есть это решение, и оно работает. Но я в своем хочу отсортировать весь контент по дате. И зная, что nunjucks предоставляет возможность сортировки, все содержимое должно быть в одном операторе for. Может быть, вы скажете, что это невозможно, вам нужен какой-то javascript для сортировки. А может у вас есть другое решение?   —  person AENM    schedule 16.01.2020

Похожие записи

В C ++ вызывает ли инициализация ссылки или указателя с самим собой UB?

admin

Почтовый запрос получен на машине, но сервер не распознает его, если источник не является локальным

admin

Как получить значения из модального окна частичного просмотра для обновления формы?

admin

Подсчет вхождений символа в текстовый файл

admin

Как читать прямоугольник, окруженный пробелами, используя readxl

admin

Не настроено RegionEndpoint или ServiceURL

admin