2013-02-13 34 views
5

Tôi muốn nhận và hiển thị mụcxml của mục đã chọn từ Tridion CME.Cách lấy itemxml của một mục đã chọn trong Tridion

Tôi đã có thể lấy Itemxml từ máy chủ VM của mình khi tôi cung cấp id tcm trong trình duyệt.

Tuy nhiên, tôi muốn nhận được thông tin tương tự từ Tridion GUI Extension.

Tôi có thể lấy id tcm mục đã chọn. Có cách nào để lấy itemxml bằng cách sử dụng coreservice?

hoặc có cách nào khác để nhận điều này không?

Trả lời

5

Hiện tại không có cách nào bạn có thể nhận được Mục XML thông qua dịch vụ cốt lõi. Mục XML bạn đã thấy được trình xử lý giao thức TCM cung cấp cho bạn có thể không có trong các phiên bản sau này. Nếu bạn muốn hiển thị mục XML trong CME - hãy nhìn vào gia hạn này bằng cách Yoaw:

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

Ngoài ra, hãy nhớ rằng không phải tất cả các thuộc tính của một mục có thể tiếp xúc trong Xml, đôi khi bạn có nhiều Thông tin trong đối tượng Dữ liệu

2

Bạn có thể lấy XML mục qua CoreService, nhưng điều này sẽ giúp bạn có định dạng Xid Tridion R6 (2011), không giống như bạn sẽ thấy trước đây.

Mã mẫu có sẵn here.

Tôi có xu hướng có một trang "GetItemXml.aspx" trên máy chủ Tcm của tôi mà sau đó tôi gọi bằng Uri làm tham số và sau đó trang này sẽ trả về mục Xml.

4

Hãy nhìn vào các PowerTools, nó có một người xem ItemXML (được viết bởi Robert Curlette) cho tất cả các mục trong SDL Tridion

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

XML được nạp vào một tab sử dụng JavaScript thể như sau:

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

Bạn có thể xem mã nguồn của phần mở rộng tại http://code.google.com/p/tridion-2011-power-tools/source/browse/#svn%2Ftrunk%2FPowerTools.Editor%2FPowerTools%2FClient%2FItemXml%253Fstate%253Dclosed

1

Điều được viết bởi Yoav Nira n (Url trong bài viết của user978511) là hoàn hảo cho yêu cầu của bạn.

nếu bạn vẫn đang phải đối mặt bất kỳ vấn đề và vội vàng để có được nó làm việc chỉ cần thực hiện các bước dưới đây -

1- Tải extension.

2- Áp dụng các bước 7 và 8 của this article để định cấu hình tiện ích này.

Các vấn đề liên quan