如何在Tridion中获取所选项目的itemxml
我想从Tridion CME获取并显示所选项目的itemxml 当我在浏览器中提供tcm id时,我能够从我的VM服务器获取Itemxml 但是,我希望从TridionGUI扩展中获得相同的信息 我能够获取所选项目tcm id。是否有任何方法可以使用coreservice获取项目XML如何在Tridion中获取所选项目的itemxml,tridion,tridion-2011,Tridion,Tridion 2011,我想从Tridion CME获取并显示所选项目的itemxml 当我在浏览器中提供tcm id时,我能够从我的VM服务器获取Itemxml 但是,我希望从TridionGUI扩展中获得相同的信息 我能够获取所选项目tcm id。是否有任何方法可以使用coreservice获取项目XML 或者有没有其他方法来获取此信息?目前,您无法通过核心服务获取项目XML。您看到的项XML是由TCM协议处理程序提供给您的,在将来的版本中可能不存在。如果要在CME中显示项XML,请查看Yoaw的此扩展: 另外,
或者有没有其他方法来获取此信息?目前,您无法通过核心服务获取项目XML。您看到的项XML是由TCM协议处理程序提供给您的,在将来的版本中可能不存在。如果要在CME中显示项XML,请查看Yoaw的此扩展:
另外,请记住,并非一个项目的所有属性都可以在Xml中公开,有时您在数据对象中有更多信息,您可以通过CoreService获取项目Xml,但这将获得Tridion R6(2011)Xml格式,这与您以前看到的格式不同 示例代码可用
我倾向于在我的Tcm服务器上有一个页面“GetItemXml.aspx”,然后用Uri作为参数调用该页面,然后该页面将返回项目Xml。看看PowerTools,它有一个ItemXML查看器(由Robert Curlette编写),用于SDL Tridion中的所有项目 XML使用JavaScript加载到选项卡上,如下所示:
ItemXmlTab.ItemXmlTab.prototype.updateView = function ItemXmlTab$updateView()
{
if (this.isSelected())
{
var xslPath = $ptUtils.expandPath("/PowerTools/Client/ItemXml/ItemXmlTab.xslt", true);
$xml.loadXsltProcessor(xslPath, function (value)
{
var xmlSource = $display.getItem().getXml();
// Filter out all spacing characters
xmlSource = xmlSource.replace(/\t|\n|\r/g, "");
var html = $xml.xsltTransform(value, $xml.getNewXmlDocument(xmlSource), null);
$dom.setOuterHTML($("#itemXml"), html);
});
}
};
您可以在上查看扩展的源代码。Yoav Niran撰写的文章(用户978511帖子中的Url)非常适合您的要求 如果您仍然面临任何问题,并急于使其正常工作,只需执行以下步骤- 1-下载 2-应用的步骤7和8配置此扩展