Мне нужно добавить архивный виджет в блог на основе Gridsome (Wordpress в качестве источника данных). Стандартная функция, подобная этой:
Я получил сообщения со статическим запросом:
query Home($page: Int) {
allWordPressPost(page: $page) {
pageInfo {
totalPages
currentPage
}
edges {
node {
date(format: "YYYY-MM-DD")
id
title
path
}
}
}
}
Далее на крючке Монте, я сгруппированданные за год и месяц к такому выводу:
{
"2019": {
"10": [
{
"date": "2019-10-29",
"node": {
"date": "2019-10-29",
"id": "145",
"title": "Aspernatur ipsam est omnis praesentium rerum autem",
"path": "/2019/10/29/aspernatur-ipsam-est-omnis-praesentium-rerum-autem/"
}
},
{
"date": "2019-10-29",
"node": {
"date": "2019-10-29",
"id": "121",
"title": "Libero voluptatibus facere aspernatur",
"path": "/2019/10/29/libero-voluptatibus-facere-aspernatur/"
}
}
],
"09": [
{
"date": "2019-09-25",
"node": {
"date": "2019-09-25",
"id": "1",
"title": "Hello world!",
"path": "/2019/09/25/hello-world/"
}
}
]
}
}
Я сгенерировал структуру ссылок виджета, используя стандартный синтаксис цикла v-for, но примеры маршрутов, такие как: "http://localhost:8080/blog/2018"," http://localhost:8080/blog/2018/19" перейти на страницу 404. Я попытался изменить gridsome.config.js, добавив:
templates: {
WordPressArchive: [
{
path: "/blog/:year",
component: "./src/templates/WordPressArchive.vue"
}
]
},
Это приводит к ошибке:
"Error: A content type for the WordPressArchive template does not exist"
Как включить архивные маршруты в Gridsome для фильтрации сообщений в блоге по годам игод месяц ?
"/blog/:year",
"/blog/:year/:month"
Есть ли возможность группировать сообщения по дате и году напрямую из запроса graphQL, без дальнейших манипуляций с js?