Запрос вложенных параметров в Hugo
У меня есть следующая конфигурация в моем Hugo.toml:
[[params.pricing]]
PricingTitle = "Starter"
PricingRate = "27"
ButtonCaption = "Get Early Access"
[[features]]
Description = "First Lorem ipsum is common text"
[[features]]
Description = "Second Lorem ipsum is common text"
[[params.pricing]]
PricingTitle = "Professional"
PricingRate = "97"
ButtonCaption = "Get Early Access"
[[features]]
Description = "First Lorem ipsum is common text"
[[features]]
Description = "Second Lorem ipsum is common text"
[[params.pricing]]
PricingTitle = "Business"
PricingRate = "147"
ButtonCaption = "Get Early Access"
[[features]]
Description = "First Lorem ipsum is common text"
[[features]]
Description = "Second Lorem ipsum is common text"
И когда я пытаюсь получить доступ к вложенному значению описания функции, в то время как другие значения, такие как «Скорость» и т. д., отображаются нормально, код ничего не получает, что я здесь делаю не так?
<h2 class="section-title mt-0 text-center">Pricing</h2>
<div class="pricing-tables-wrap">
{{ range site.Params.pricing }}
<div class="pricing-table">
<div class="pricing-table-inner">
<div class="pricing-table-main">
<div class="pricing-table-header is-revealing">
<div class="pricing-table-title mt-12 mb-8">{{ .PricingTitle }}</div>
<div class="pricing-table-price mb-32 pb-24"><span class="pricing-table-price-currency h4">$</span><span class="pricing-table-price-amount h2">{{ .PricingRate }}</span>/mo</div>
</div>
<ul class="pricing-table-features list-reset text-xs mt-24 mb-56">
{{ range .features }}
<li class="is-revealing">
<span class="list-icon">
<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg">
<path fill="#5FFAD0" fill-rule="nonzero" d="M5.6 8.4L1.6 6 0 7.6 5.6 14 16 3.6 14.4 2z"/>
</svg>
</span>
<span>{{ .Description }}</span>
</li>
{{ end }}
</ul>
</div>
<div class="pricing-table-cta is-revealing">
<a class="button button-primary button-shadow button-block" href="#">{{ .ButtonCaption }}</a>
</div>
</div>
</div>
{{ end }}
</div>
Спасибо за помощь.
1 ответ
Структура файла конфигурации не соответствует структуре, ожидаемой в коде. На самом деле этот раздел представляет собой поле верхнего уровня, представленное в виде массива с шестью значениями.
Чтобы решить эту проблему, вам необходимо обновить файл конфигурации. Просто замените все экземпляры[[features]]
с[[params.pricing.features]]
. Использование преобразователя TOML в JSON может быть полезным, поскольку оно обеспечивает более четкое представление структуры (поскольку синтаксис TOML может быть немного загроможден).
Обратите внимание: хотя отступы могут улучшить читаемость файла TOML, они не влияют на фактическую структуру данных.