5

我想从 Tridion CME获取并显示所选项目的 itemxml 。

当我在浏览器中提供 tcm id 时,我能够从我的 VM 服务器获取 Itemxml。

但是,我想从 Tridion GUI Extension 获得相同的信息。

我能够获得选定的项目 tcm id。有什么方法可以使用coreservice获取 itemxml吗?

还是有其他方法可以得到这个?

4

4 回答 4

5

目前,您无法通过核心服务获取 Item XML。您看到的项目 XML 是由 TCM 协议处理程序提供给您的,在未来的版本中可能不存在。如果您想在 CME 中显示项目 XML - 请查看 Yoaw 的此扩展:

http://sdltridionworld.com/articles/sdltridion2011/tutorials/GUIextensionIn8steps.aspx

另外,请记住,并非项目的所有属性都可能在 Xml 中公开,有时您在 Data 对象中有更多信息

于 2013-02-13T07:58:44.430 回答
4

查看 PowerTools,它有一个 ItemXML 查看器(由 Robert Curlette 编写),用于查看 SDL Tridion 中的所有项目

http://code.google.com/p/tridion-2011-power-tools/wiki/ItemXML

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);
        });        
    }
};

您可以在http://code.google.com/p/tridion-2011-power-tools/source/browse/#svn%2Ftrunk%2FPowerTools.Editor%2FPowerTools%2FClient%2FItemXml%253Fstate查看扩展的源代码%253D关闭

于 2013-02-13T11:59:59.383 回答
2

您可以通过 CoreService 获取项目 XML,但这将为您提供 Tridion R6 (2011) Xml 格式,这与您之前看到的不同。

此处提供示例代码。

我倾向于在我的 Tcm 服务器上有一个页面“GetItemXml.aspx”,然后我使用 Uri 作为参数调用该页面,然后该页面将返回 Item Xml。

于 2013-02-13T11:05:56.057 回答
1

Yoav Niran 撰写的文章(user978511 帖子中的 URL)非常适合您的要求。

如果您仍然面临任何问题并急于让它工作,只需执行以下步骤 -

1-下载扩展

2- 应用本文的步骤 7 和 8 配置此扩展。

于 2013-02-18T06:50:05.227 回答