我正在使用Umbraco 6.0.1我创建了两个页面,首先是页面元素,如页面标题,正文文本等。 我创建了另一个页面,我希望在第一页中使用页面元素,它们之间没有任何父子关系。 那么是否可以将另一页的页面元素放入Umbraco页面?
答案 0 :(得分: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/找到,这是一个了解它们如何拼凑在一起的好地方。
答案 1 :(得分:1)
是的,我们可以在没有关系的情况下获得Page,如上面评论中所述 也是目标页面属性。
var currentDoc = new umbraco.cms.businesslogic.web.Document(PageId);
umbraco.cms.businesslogic.property.Property prop = currentDoc.getProperty( "MY_PROPERTY" );