我正在尝试创建一个列出所有项目(博客条目)的部分视图宏。我可以阅读它的名字,但不能读取它的内容:
@foreach (var page in CurrentPage.Children.Where("Visible").OrderBy("CreateDate desc"))
{
<div class="article">
<div class="articletitle">@page.Name</div>
<div class="articlepreview">
@Umbraco.Truncate(@page.Field("pageContent"),100)
<a href="@page.Url">Read More..</a>
</div>
</div>
<hr/>
}
所有网页都定义为ContentPage
(文档类型),我已将Page Content (pageContent), type: Richtext editor
添加为Tab: Content
元素。
我是否需要将页面或其他内容投射到Contentpage
?
我想做的是在我的主页上给出100个字符长的内容预览,这样用户就可以在点击该项目之前阅读一段简短的摘录。
答案 0 :(得分:1)
从技术上讲,它们是doctype的属性,而不是Fields。
所以我相信这就是你要找的东西:
@ page.GetProperty(&#34; pageContent&#34)。值
并截断......
@ Library.Truncate(@ page.GetProperty(&#34; pageContent&#34;。)值,100)
然而在此上下文中,您应该可以简单地使用...
@ page.pageContent
因此...
@ Library.Truncate(@ page.pageContent,100)
......应该有用!
答案 1 :(得分:0)
我认为这会给你正在寻找的文字(我认为你的问题只是额外的@):
@Umbraco.Truncate(page.Field("pageContent"),100)
如果您使用的是umbraco 7+,请尝试以下操作:
@Umbraco.Truncate(page.AsDynamic().pageContent, 100)
希望这有帮助!