我是第一次设置Umbraco 7.7,并为一个页面创建文档类型和模板,以显示在我们组织工作的人员(包括他们的姓名,照片和简历)。
如何配置它,以便内容管理器可以添加另一个“人员”(有效地是具有用户可编辑图像和文本的div群集),而无需手动向模板添加另一个“人员”?使用部分视图似乎是解决方案的一部分,但是我不清楚如何将它们组合在一起。
我的模板(简体)目前看起来具有以下效果:
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
Layout = null;
}
<!doctype html>
<html>
<body>
<div class="person-bio">
<img src="/media/person-01-photo.jpg">
<p>@Umbraco.Field("person-01-name")</p>
<p>@Umbraco.Field("person-01-title")</p>
<p>@Umbraco.Field("person-01-bio")</p>
</div>
<div class="person-bio">
<img src="/media/person-02-photo.jpg">
<p>@Umbraco.Field("person-02-name")</p>
<p>@Umbraco.Field("person-02-title")</p>
<p>@Umbraco.Field("person-02-bio")</p>
</div>
<div class="person-bio">
<img src="/media/person-03-photo.jpg">
<p>@Umbraco.Field("person-03-name")</p>
<p>@Umbraco.Field("person-03-title")</p>
<p>@Umbraco.Field("person-03-bio")</p>
</div>
<!-- etc., etc. -->
</body>
</html>
谢谢!任何帮助将不胜感激。
答案 0 :(得分:0)
因此,根据我的理解,您不需要局部视图。如果就这么简单,并且您只想输出我看到的重复的div,则循环它:
@foreach (var person in whateverYourCollectionIs) {
<div class="person-bio">
<img src="/media/person-01-photo.jpg">
<p>@person.GetPropertyValue<string>("pseudoNameFieldAlias")</p>
<p>@person.GetPropertyValue<string>("pseudoTitleFieldAlias")</p>
<p>@person.GetPropertyValue<string>("pseudoBioFieldAlias")</p>
</div>
}
该循环将为每个人创建完全相同的html,但是具有适当的名称,标题,个人简历等。这不是您要使用的实际代码,但希望可以引导您正确的方向。
答案 1 :(得分:0)
您可能需要为此使用“嵌套内容”控件。它允许您在文档上添加实体列表(在您的情况下为个人)
有关嵌套内容控件的更多文档可以在这里找到:https://our.umbraco.com/documentation/getting-started/backoffice/Property-Editors/Built-in-Property-Editors/Nested-Content