Umbraco 7-如何允许用户即时添加新的内容字段?

时间:2018-07-25 14:27:14

标签: umbraco umbraco7

我是第一次设置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>

谢谢!任何帮助将不胜感激。

2 个答案:

答案 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,但是具有适当的名称,标题,个人简历等。这不是您要使用的实际代码,但希望可以引导您正确的方向。

这是documentation that will help

答案 1 :(得分:0)

您可能需要为此使用“嵌套内容”控件。它允许您在文档上添加实体列表(在您的情况下为个人)

有关嵌套内容控件的更多文档可以在这里找到:https://our.umbraco.com/documentation/getting-started/backoffice/Property-Editors/Built-in-Property-Editors/Nested-Content