Tam*_*nar 4 sitecore glass-mapper
有没有办法用玻璃映射器检查Sitecore项目的模板ID?
我的业务逻辑将执行以下操作:
我想使用SitecoreContext这里描述的类:http://www.glass.lu/Mapper/Sc/Documentation/ISitecoreContext
我的代码看起来像这样:
var context = new SitecoreContext();
var currentItem = context.GetCurrentItem<MyModel>();
if(HasCorrectTemplate(currentItem))
{
return currentItem;
}
return GetFallbackItem();
Run Code Online (Sandbox Code Playgroud)
我真的不想为此自定义Glass Mapper,因为在我看来它应该是检查模板ID的基本功能.
我只能想到使用某种棘手的查询,我没有找到关于其他可能性的文档.
您还可以将SitecoreInfoType.TemplateId属性添加到模型上的属性,然后Glass将映射到项目的TemplateID.
//Returns the template ID of the item as type System.Guid.
[SitecoreInfo(SitecoreInfoType.TemplateId)]
public virtual Guid TemplateId{ get; set; }
Run Code Online (Sandbox Code Playgroud)
然后,您可以针对您的项目检查模板ID
if(currentItem.TemplateId == {guid-of-template-to-match})
{
return currentItem;
}
Run Code Online (Sandbox Code Playgroud)
@Maras的解决方案更清晰,但这取决于模板的设置,可能取决于您是否使用TDS代码生成模板.
| 归档时间: |
|
| 查看次数: |
2833 次 |
| 最近记录: |