2013-06-04 150 views
1

如何获取Ektron 8.0中所选Ektron内容的版本号。获取版本号

ContentAPI m_refContentApi = new ContentAPI(); 
var data = m_refContentApi.GetHistoryList(ContentBlockId); 

我已经试过上面的代码,但它没有提供任何版本号。

任何回复

+0

感谢您标记答案。 – RacerNerd

回答

2

我猜测,你说这里的版本号是版本号为观看在工作区中内容一块历史,当看到。努力工作...

我不相信这个版本号是作为Ektron提供的对象的属性。如果您需要此版本号,则需要复制Ektron使用的过程来生成版本号。

此答案基于对/workarea/controls/viewhistorylist.aspx.cs代码的分析。我正在使用Ektron 8.6 SP1。
在历史信息使用以下代码访问的工作区:

Ektron.Cms.Commerce.CatalogEntryApi m_refCatalogAPI = new Ektron.Cms.Commerce.CatalogEntryApi(); 
List<Ektron.Cms.Commerce.EntryVersionData> entry_version_list = new List<Ektron.Cms.Commerce.EntryVersionData>(); 
if (Id != -1) 
{ 
    entry_version_list = m_refCatalogAPI.GetVersionList(Id, ContentLanguage); 
} 

“标识”的变量是内容片的EktronId。
不幸的是,此列表本身不包含版本号。有一个名为VersionId的变量,但这与workarea用户界面中看到的不一样。

获取用于通过列表中的元素打印Ektron循环的版本,并检查内容是否先前已发布。如果版本发布了,它被认为是一个主要数字,它出现在小数点的左边,如果它没有被发布,它就是小数点右边的一个小数字。

如果您不需要使用的编号来匹配workarea GUI,那么您可能需要考虑使用VersionId属性。较小的数字表示较旧的内容,但如果您需要区分主要次要版本和次要版本,则此操作无法实现,因此您需要复制Ektron使用的过程。

+0

我有同样的问题,并希望有一个简单的解决方案,但据我所知,你的建议是唯一的方法来做到这一点。 – nedlud