我正在使用 Umbraco 6.0.1 我创建了两个页面第一个是页面元素,如页面标题、正文文本等。我创建了另一个页面,我希望在第一页中使用页面元素,没有任何父子他们之间的关系。那么是否可以将另一个页面的页面元素放入 Umbraco 的页面中呢?
问问题
3197 次
2 回答
2
看起来可能不是这样,但在 Umbraco 中始终存在亲子关系。
解释一下,您在内容结构中创建的每个节点都是在 ID 为 -1 的主节点下创建的。因此,所有节点都是该节点的子节点。即使您的两个节点位于两个看似独立的内容分支中,它们也始终是相关的。
如果您的两个节点都是根节点,则可以从 cshtml 视图中访问所有根节点,如下所示:
@Umbraco.TypedContentAtRoot()
然后,您可以像这样遍历它们:
@{
var rootNodes = Umbraco.TypedContentAtRoot();
var settingsNode = rootNodes.First(x => x.DocumentTypeAlias == "Settings");
var homeNode = rootNodes.First(x => x.DocumentTypeAlias == "Homepage");
}
然后,您可以访问这些节点上的属性并将它们显示在您的视图中。
最后,大部分信息都可以在http://our.umbraco.org/documentation/Reference/上找到,这是一个让您熟悉它们如何结合在一起的好地方。
于 2013-08-01T09:55:41.127 回答
1
是的,我们可以在没有关系的情况下获取页面,如上面的评论中提到的,也是针对页面属性的。
var currentDoc = new umbraco.cms.businesslogic.web.Document(PageId);
umbraco.cms.businesslogic.property.Property prop = currentDoc.getProperty( "MY_PROPERTY" );
于 2013-08-01T12:31:28.543 回答