5

Tridion CME から選択したアイテムの itemxmlを取得して表示したいと考えています。

ブラウザで tcm ID を指定すると、VM サーバーから Itemxml を取得できました。

ただし、Tridion GUI Extension から同じ情報を取得したいと考えています。

選択したアイテムの tcm id を取得できました。coreserviceを使用して itemxml を取得する方法はありますか?

またはこれを取得する他の方法はありますか?

4

4 に答える 4

5

現時点では、コア サービスからアイテム XML を取得する方法はありません。表示されたアイテム XML は、TCM プロトコル ハンドラによって提供されたもので、将来のバージョンには存在しない可能性があります。CME でアイテム XML を表示したい場合は、Yoaw によるこの拡張機能を見てください。

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

また、項目のすべてのプロパティが Xml で公開されるわけではないことに注意してください。Data オブジェクトに詳細情報がある場合もあります。

于 2013-02-13T07:58:44.430 に答える
4

PowerTools を見てみましょう。これには、SDL Tridion のすべてのアイテム用の ItemXML ビューアー (Robert Curlette によって作成された) があります。

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 をパラメーターとして呼び出すと、このページがアイテム Xml を返すことがよくあります。

于 2013-02-13T11:05:56.057 に答える
1

Yoav Niran によって書かれた記事 (user978511 の投稿の URL) は、あなたの要件に最適です。

それでも問題が発生し、急いで動作させる場合は、以下の手順を実行してください -

1-拡張機能をダウンロードします。

2-この記事の手順 7 と 8 を適用して、 この拡張機能を構成します。

于 2013-02-18T06:50:05.227 に答える