我在网站上添加了一个全球网站区域,并填充了一些内容。如何从页面视图和/或布局中阅读此内容?
答案 0 :(得分:1)
此功能在WebPages和&amp ;;之间略有不同。 MVC,其原因在于,在WebPages(如WebForms)中,Layout-page具有与正在执行的实际页面不同的模型。如果您使用WebPages,只需在布局页面中首先添加以下行:
@inherits Piranha.WebPages.LayoutPage
这将自动加载布局页面模型和所有全局区域。
如果您使用 MVC ,则无法自动完成此操作,因为布局没有模型。您只需在Layout-page中添加以下内容:
@{
Piranha.Models.PageModel global;
if (HttpContext.Current.Items["Piranha_CurrentPage"] != null) {
var current =
(Piranha.Models.Page)HttpContext.Current.Items["Piranha_CurrentPage"];
global = Piranha.Models.PageModel.GetBySite(current.SiteTreeId);
} else {
global = Piranha.Models.PageModel.GetBySite(Piranha.Config.SiteTreeId);
}
}
此代码段加载布局页面:
希望这能帮到你!
此致
/哈坎