#hugo #netlify-cms
#hugo #netlify-cms
Вопрос:
У меня есть поле связи в netlify-cms, которое распечатывает мои несколько выбранных связанных страниц. Я изо всех сил пытаюсь заставить hugo пройти цикл и получить заголовок с каждой страницы, используя комбинацию range / getPage.
Мой сломанный пример:
{{ range .Params.chassis.availableChassis }}
{{ with .Site.GetPage "/chassis/" . }}<h1>{{ .Title }}</h1>{{ end }}
{{ end }}
Содержимое страницы:
chassis:
availableChassis:
- Nissan
- Renault
Настройка поля NetlifyCMS:
- {label: "Chassis", name: chassis, widget: object, fields: [
{label: "Available chassis", name: "availableChassis", widget: "relation", collection: "chassis", searchFields: "title", valueField: "title", required: false, multiple: true}
]}
Если я сделаю это, я получу заголовок страницы со страницы, но, очевидно, он не динамичен в зависимости от выбора CMS:
{{ with .Site.GetPage "/chassis/nissan" }}<h1>{{ .Title }}</h1>{{ end }}
Возможно, более простое решение, о котором я не подумал, или я не ищу в нужном месте в документах.
Ответ №1:
Создал решение с использованием getPage, открытое для альтернативных или менее сложных решений
{{ $chassis := .Params.chassis.availableChassis }}
{{ range where .Site.Pages "Type" "chassis" }}
{{ $page := . }}
{{ range $chassis }}
{{ if in $page.Title . }}
{{ with $.GetPage $page.File.Path }}
{{ .Params.hero.heroTitle }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}