如何在umbraco中使用razor代码获取文档类型的允许模板?

时间:2013-06-20 04:17:56

标签: templates razor umbraco

我正在尝试为Umbraco设置A / B测试框架。为了编写为给定文档类型均匀旋转模板的脚本,我需要知道页面允许的模板是什么(因为我可能事先不知道模板名称)。有没有办法使用Razor获得这个?

例如,在该文档的“设置”部分中,已允许登录页面为模板A,模板D(以及将来可能的模板C)。如何从Umbraco中检索模板A,模板D?

提前致谢!

1 个答案:

答案 0 :(得分:0)

当然,你可以用剃刀做任何事情:

@using umbraco.cms.businesslogic.template
@using umbraco.cms.businesslogic.web
@inherits umbraco.MacroEngines.DynamicNodeContext
@{
    int doctypeId = 1048;
    DocumentType doctype = new DocumentType(doctypeId);
    Template[] templates = doctype.allowedTemplates;

    <h3>Default Template</h3>
    @doctype.DefaultTemplate<br /><br />

    <h3>Allowed Templates</h3>
    foreach (var template in templates)
    {
        @:@template.Id, @template.Alias, @template.Text<br />
    }
}