在SDL Tridion中获取已发布元素的URL

bar*_*iir 2 tridion

有没有办法在SDL Tridion界面中找到已发布对象的绝对URL?

例如,当我发布页面时,如何找到访问该页面的URL?

Nun*_*res 6

虽然没有完成,也没有真正记录在案,但Tridion 2011 PowerTools包括2个按钮,分别为"Open in Staging"和"Open in Live".


joh*_*ter 5

如果您要在c#tbb库中查找代码,可以对页面和结构组使用PublishLocationUrl属性:

StructureGroup.PublishLocationUrl或Page.PublishLocationUrl

如果项目是否已发布,这将返回URL,因为Page和StructureGroup扩展了ReposityObject类,我通常会检查ReposityObject是否发布到要发布页面的目标,例如:

if (PublishEngine.IsPublished(myReposityObject, myEngine.PublishingContext.PublicationTarget))
{
 // page or sg is published!
}
Run Code Online (Sandbox Code Playgroud)

注意:myEngine是Engine对象的实例.

如果您在核心服务中执行此操作,这有点不同,您需要做的是创建一个PublishLocationInfo对象,该对象从您的Page或StructureGroup对象属性LocationInfo中生成,如下所示:

PublishLocationInfo pubInfo = (PublishLocationInfo)page.LocationInfo;
return pubInfo.PublishLocationUrl;
Run Code Online (Sandbox Code Playgroud)