(Gatsby + Prismi c): URL-адреса отношений с содержимым - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть блог Gatsby Prismi c с двумя пользовательскими типами контента - руководство и обзор.

Я хочу, чтобы структура URL была www.mysite.com/guide_url/review_url.

Что я сделал до сих пор:

Я добавил поле отношения контента в Prismi c к родительскому руководству по пользовательским типам и привязал к нему дочерние элементы (обзор).

В моем файле gatsby- node.js код выглядит следующим образом:

exports.createPages = ({ graphql, boundActionCreators }) => {
  const { createPage } = boundActionCreators;
  return new Promise((resolve, reject) => {
    graphql(`
      {
        allPrismicGuide {
          edges {
            node {
              id
              uid
            }
          }
        }
        allPrismicReview {
          edges {
            node {
              id
              uid
            }
          }
        }
    `).then(result => {
      const categoriesSet = new Set();
      result.data.allPrismicGuide.edges.forEach(({ node }) => {
        createPage({
          path: node.uid,
          component: path.resolve(`./src/templates/GuideTemplate.js`),
          context: {
            // Data passed to context is available in page queries as GraphQL variables.
            slug: node.uid
          }
        });
      });
      result.data.allPrismicReview.edges.forEach(({ node }) => {
        createPage({
          path: node.uid,
          component: path.resolve(`./src/templates/ReviewTemplate.js`),
          context: {
            // Data passed to context is available in page queries as GraphQL variables.
            slug: node.uid,
            tags: node.tags
          }
        });
      });

Я довольно новичок в Gatsby и Prismi c.

Я хотел бы получить отзывы (полезные ссылки) и предложения!

1 Ответ

1 голос
/ 18 февраля 2020

Вы используете устаревший плагин. Прочтите это руководство, чтобы узнать Как перенести проект из 'gatsby-source-prismi c' в 'gatsby-source-prismi c -graphql' Этот новый позволяет вам решать то, что вам нужно сделать, а именно:

  • Создание маршрутизации страницы прямо на летучей мыши

Тогда вам нужно будет использовать gatsby Link компонент вместе с распознавателем ссылок Prismi c для создания ссылок между страницами.

Я не вижу поля отношений контента в ваших запросах, но в этой статье также объясняется, как это сделать в файлах шаблонов.

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