自定义页面作为栏目索引,随处列出内容
Custom page as the index of a section, and listing content anywhere
我是 Hugo 的新手,所以如果我使用了错误的术语请原谅 - 如果我用错了请纠正我。让我解释一下我需要做什么。
让我们考虑旅行社的网站。该机构有“优惠”,它们被组织成“类别”(如果类别在前面有 parent
属性,则可能是子类别)。如果我猜对了 Hugo,“offers”和“categories”应该是两个部分,我应该有一个这样的文件夹结构,content/offers
中的每个页面在其前面的内容中引用一个类别:
content
|- categories
| |- europe.md
| |- americas.md
| |- asia.md
| |- italy.md
| |- france.md
|- offers
|- a-week-in-paris.md
|- new-york-and-the-east-cost.md
|- milan-unknown-history.md
|- indian-charm.md
我想制作一个类别的页面,以便它列出其子类别及其报价:我应该在 layouts/categories/single.html
布局中这样做,对吗?但是,如何获取其子类别的集合(即 parent
属性 中具有“此类别”的类别)或其报价的集合(即具有“此类别”的报价)在 category
属性)?
我还希望有一个商品的“根”页面,它只显示五个顶级类别的列表(即没有 parent
属性 的类别) .假设我不希望此页面成为“常规”类别页面,而是自定义页面;也许它甚至不在 /categories
之类的 URL,而是 /browse-offers
。如果我创建一个页面(通过创建 content/browse-offers.md
和 layouts/_default/browse-offers.html
),我如何访问类别列表?我应该把它变成“类别”部分的“列表”页面吗?如果类别的“列表”页面应该是所有类别的过滤列表怎么办?
我觉得 Hugo 非常灵活,但我能找到的所有文档和示例总是谈论一个简单的 posts/list-of-posts 站点结构。如果我想在主页上显示“最高报价”画廊怎么办?我找不到如何获取“事物”列表,除非我在“列表”页面中进行操作...
您可以遍历类别(在任何布局中)并检查 'parent' 参数,如下所示:
{{ range (where .Site.RegularPages "Section" "categories" ) }}
{{ if .Params.parent }}
...
{{ else }}
...
{{ end }}
{{ end }}
我是 Hugo 的新手,所以如果我使用了错误的术语请原谅 - 如果我用错了请纠正我。让我解释一下我需要做什么。
让我们考虑旅行社的网站。该机构有“优惠”,它们被组织成“类别”(如果类别在前面有 parent
属性,则可能是子类别)。如果我猜对了 Hugo,“offers”和“categories”应该是两个部分,我应该有一个这样的文件夹结构,content/offers
中的每个页面在其前面的内容中引用一个类别:
content
|- categories
| |- europe.md
| |- americas.md
| |- asia.md
| |- italy.md
| |- france.md
|- offers
|- a-week-in-paris.md
|- new-york-and-the-east-cost.md
|- milan-unknown-history.md
|- indian-charm.md
我想制作一个类别的页面,以便它列出其子类别及其报价:我应该在 layouts/categories/single.html
布局中这样做,对吗?但是,如何获取其子类别的集合(即 parent
属性 中具有“此类别”的类别)或其报价的集合(即具有“此类别”的报价)在 category
属性)?
我还希望有一个商品的“根”页面,它只显示五个顶级类别的列表(即没有 parent
属性 的类别) .假设我不希望此页面成为“常规”类别页面,而是自定义页面;也许它甚至不在 /categories
之类的 URL,而是 /browse-offers
。如果我创建一个页面(通过创建 content/browse-offers.md
和 layouts/_default/browse-offers.html
),我如何访问类别列表?我应该把它变成“类别”部分的“列表”页面吗?如果类别的“列表”页面应该是所有类别的过滤列表怎么办?
我觉得 Hugo 非常灵活,但我能找到的所有文档和示例总是谈论一个简单的 posts/list-of-posts 站点结构。如果我想在主页上显示“最高报价”画廊怎么办?我找不到如何获取“事物”列表,除非我在“列表”页面中进行操作...
您可以遍历类别(在任何布局中)并检查 'parent' 参数,如下所示:
{{ range (where .Site.RegularPages "Section" "categories" ) }}
{{ if .Params.parent }}
...
{{ else }}
...
{{ end }}
{{ end }}