And*_*huk 5 tridion tridion-2011
在我的C#或Dreamweaver模板中,我需要知道我在渲染什么.问题是我不确定我是否在寻找页面或组件.我可以使用package.GetByType(ContentType.Page),如果它是空的 - 获取组件的内容,但我觉得应该有一个更短的方式.
大卫的例子更短:
engine.PublishingContext.ResolvedItem.Item.Id
Run Code Online (Sandbox Code Playgroud)
engine.PublishingContext.ResolvedItem.Item.Id
Run Code Online (Sandbox Code Playgroud)
您还可以检查发布上下文的已解决项目,看看它是否是一个页面(如果不是,那么它是一个组件).
例如:
Item currentItem;
if (engine.PublishingContext.ResolvedItem.Item is Page)
{
currentItem = package.GetByName(Package.PageName);
}
else
{
currentItem = package.GetByName(Package.ComponentName);
}
TcmUri currentId = engine.GetObject(currentItem).Id;
Run Code Online (Sandbox Code Playgroud)
如果要快速调用engine.GetObject()调用,那么您可以直接从Item的XML中获取ID:
String currentId = currentItem.GetAsSource().GetValue("ID");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
160 次 |
| 最近记录: |