在 octobercms 静态页面插件上呈现一组内部带有中继器的字段
On octobercms static pages plugin render a group of fields with a repeater inside
在 "content/static-pages/index.htm" 我可以看到可以在页面上呈现的已保存字段:
然后在局部我可以使用 {{ data.section_color }} 渲染一个字段。
现在我想在 "meta/groups.yaml" 中创建一个转发器字段,如下所示:
carousel2:
name: Carousel2
description: Carousel2
icon: icon-file-image-o
fields:
section_carousel2:
type: repeater
prompt: Add new subitem
form:
fields:
section_carouselimage2:
label: Image2
type: mediafinder
mode: image
section_carouseltitle2:
label: Title2
type: text
section_carouselsubtitle2:
label: Subtitle2
type: textarea
size: small
我可以在我的后端看到这个字段,我可以用它保存数据。在 "content/static-pages/index.htm" 现在我有:
[viewBag]
title = "Home"
url = "/"
layout = "static"
is_hidden = 0
navigation_hidden = 0
sections[0][section_carousel2][1][section_carouselimage2] = "/carousel/bg-1.jpg"
sections[0][section_carousel2][1][section_carouseltitle2] = "Carousel2 Title"
sections[0][section_carousel2][1][section_carouselsubtitle2] = "Carousel2 Subitle"
sections[0][section_carousel2][2][section_carouselimage2] = "/carousel/bg-2.jpg"
sections[0][section_carousel2][2][section_carouseltitle2] = "Carousel2 Title2"
sections[0][section_carousel2][2][section_carouselsubtitle2] = "Carousel2 Subtitle2"
sections[0][_group] = "carousel2"
==
问题是我找不到呈现此字段的方法。如何在中继器组内渲染中继器字段?我如何呈现 "section_title2" 字段?
嗯,以免假设您正在添加 carousel2
好的,我们在 meta/groups.yaml 中添加了它的标记,所以基本上我们正在制作 carousel2 组。
现在解决方案,我们如何显示它 information/data。
first we need to create partial in cms blocks/carousel2 so carousel2 will be placed in blocks folder where other partials are (simple / react / etc ...).
好的,现在我们需要在里面添加这个内容
<section>
<!-- render inner section -->
{% for slide in data.section_carousel2 %}
<!-- this block will repeat / based on added slides( so probably slider markup will be here) -->
<p>{{ slide.section_carouselimage2 }}</p>
<p>{{ slide.section_carouseltitle2 }}</p>
<p>{{ slide.section_carouselsubtitle2 }}</p>
{% endfor %}
</section>
好的,现在您可以访问 for 循环中的所有字段。我们使用了循环,因为你的组是转发器。
稍微了解一下
data : = this variable is passed to each partial. its data regarding your group, in our case its carousel2
现在数据有2件事 第一 : 组名 , second 我们的 真实数据 我们保存在 page.
要获取保存的数据,我们可以使用 data.section_carousel2 现在因为我们知道它的转发器类型,所以要获取我们需要添加 for 循环的数据。
现在在 for 循环中我们使用了 slide 变量,它将在每次迭代中获取转发器内所有字段的所有数据。
so now within this loop you have your fields slide.section_carouselimage2 as we declared in meta/groups.yaml file.
如果有任何不清楚或无法正常工作,请发表评论。
在 "content/static-pages/index.htm" 我可以看到可以在页面上呈现的已保存字段:
然后在局部我可以使用 {{ data.section_color }} 渲染一个字段。
现在我想在 "meta/groups.yaml" 中创建一个转发器字段,如下所示:
carousel2:
name: Carousel2
description: Carousel2
icon: icon-file-image-o
fields:
section_carousel2:
type: repeater
prompt: Add new subitem
form:
fields:
section_carouselimage2:
label: Image2
type: mediafinder
mode: image
section_carouseltitle2:
label: Title2
type: text
section_carouselsubtitle2:
label: Subtitle2
type: textarea
size: small
我可以在我的后端看到这个字段,我可以用它保存数据。在 "content/static-pages/index.htm" 现在我有:
[viewBag]
title = "Home"
url = "/"
layout = "static"
is_hidden = 0
navigation_hidden = 0
sections[0][section_carousel2][1][section_carouselimage2] = "/carousel/bg-1.jpg"
sections[0][section_carousel2][1][section_carouseltitle2] = "Carousel2 Title"
sections[0][section_carousel2][1][section_carouselsubtitle2] = "Carousel2 Subitle"
sections[0][section_carousel2][2][section_carouselimage2] = "/carousel/bg-2.jpg"
sections[0][section_carousel2][2][section_carouseltitle2] = "Carousel2 Title2"
sections[0][section_carousel2][2][section_carouselsubtitle2] = "Carousel2 Subtitle2"
sections[0][_group] = "carousel2"
==
问题是我找不到呈现此字段的方法。如何在中继器组内渲染中继器字段?我如何呈现 "section_title2" 字段?
嗯,以免假设您正在添加 carousel2
好的,我们在 meta/groups.yaml 中添加了它的标记,所以基本上我们正在制作 carousel2 组。
现在解决方案,我们如何显示它 information/data。
first we need to create partial in cms blocks/carousel2 so carousel2 will be placed in blocks folder where other partials are (simple / react / etc ...).
好的,现在我们需要在里面添加这个内容
<section>
<!-- render inner section -->
{% for slide in data.section_carousel2 %}
<!-- this block will repeat / based on added slides( so probably slider markup will be here) -->
<p>{{ slide.section_carouselimage2 }}</p>
<p>{{ slide.section_carouseltitle2 }}</p>
<p>{{ slide.section_carouselsubtitle2 }}</p>
{% endfor %}
</section>
好的,现在您可以访问 for 循环中的所有字段。我们使用了循环,因为你的组是转发器。
稍微了解一下
data : = this variable is passed to each partial. its data regarding your group, in our case its carousel2
现在数据有2件事 第一 : 组名 , second 我们的 真实数据 我们保存在 page.
要获取保存的数据,我们可以使用 data.section_carousel2 现在因为我们知道它的转发器类型,所以要获取我们需要添加 for 循环的数据。
现在在 for 循环中我们使用了 slide 变量,它将在每次迭代中获取转发器内所有字段的所有数据。
so now within this loop you have your fields slide.section_carouselimage2 as we declared in meta/groups.yaml file.
如果有任何不清楚或无法正常工作,请发表评论。