如何在Ektron 8.0中获取选定Ektron内容的版本号。
ContentAPI m_refContentApi = new ContentAPI();
var data = m_refContentApi.GetHistoryList(ContentBlockId);我已经尝试了上面的代码,但它没有提供任何版本号。
有人回复吗?
发布于 2013-06-11 07:46:18
我猜您在这里提到的版本号是在查看工作区中的内容片段的历史时看到的版本号。努力解决这个问题...
我不相信这个版本号是Ektron提供的对象的一个属性。如果您需要此版本号,则需要复制Ektron使用的过程来生成版本号。
这个答案是基于对/workarea/controls/viewizorylist.aspx.cs代码的分析得出的。我正在使用Ektron8.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);
}"Id“变量是内容片段的EktronId。
不幸的是,这个列表本身并不包含版本号。有一个名为VersionId的变量,但这与在工作区用户界面中看到的不同。
为了获得用于打印的版本,Ektron循环遍历列表中的元素,并检查内容片段是否以前发布过。如果版本已发布,则认为它是主要数字,并显示在小数点左侧;如果未发布,则认为次要数字显示在小数点右侧。
如果您不需要正在使用的数字来匹配工作区图形用户界面,那么您可能需要考虑使用VersionId属性。较小的数字表示较旧的内容,但如果您需要区分主要版本和次要版本,这将不会起作用,您将需要复制Ektron使用的过程。
https://stackoverflow.com/questions/16910901
复制相似问题