2016-08-12 3 views
9

अत्यधिक लागू करने की आवश्यकता मैं लागू करने की कोशिश कर रहा हूं टिप्पणियां दिखाने के लिए (सूची में बनाई गई वस्तु, वस्तु के आधार पर आइटम)।शेयरपॉइंट: एक क्रॉस-प्रकाशन परिदृश्य में एक प्रदर्शन टेम्पलेट पर AppendOnlyHistory को कैसे दिखाएं

मैं सूची पर संस्करण को सक्षम करने और विकल्प के साथ एक पाठ क्षेत्र जोड़कर संलेखन तरफ सुविधा जोड़ी को सही पर सेट "मौजूदा पाठ में परिवर्तन संलग्न"। यह वास्तव में मुझे वस्तुओं पर टिप्पणी करने की अनुमति देता है और उन्हें कालक्रम से प्रदर्शित करता है, लेकिन केवल संलेखन पक्ष पर। मुद्दा यह है कि यूआई भाग किसी अन्य साइट संग्रह पर किया जाएगा और मुझे वहां सभी टिप्पणियां प्राप्त करने का सीधा तरीका नहीं मिल रहा है।

<SharePoint:AppendOnlyHistory runat="server" FieldName="YourCommentsFieldName" ControlMode="Display"/> 

बात है करने के लिए

अब तक, हर संसाधन मैं पाया है अंक, मुझे नहीं (पता नहीं कैसे करने के लिए) कर सकते हैं एक प्रदर्शन टेम्पलेट के अंदर इस का उपयोग करें। अब तक, मैं अपने सभी बाकी एपीआई का उपयोग कर डेटा हो रही है, के माध्यम से

 var siteUrl=_spPageContextInfo.webAbsoluteUrl.replace("publishing","authoring"); 
     $.ajax({ 
      url: siteUrl + "/_api/web/lists/getbytitle('" + listname + "')/items(" + id + ")", 
      type: 'GET', 
      async:false, 
      headers: {"accept": "application/json;odata=verbose",}, 
      dataType: 'JSON', 
      success: function(json) { 
       console.log(json); 
       //var obj = $.parseJSON(JSON.stringify(json.d.results)); 
       //alert(obj); 
      }, 
      error: function (XMLHttpRequest, textStatus, errorThrown) { 
       alert("error :"+XMLHttpRequest.responseText); 
      } 
     }); 

क्या इस देता है मुझे नवीनतम टिप्पणी ही है। मुझे पूरे धागे को पकड़ने के लिए एक आसान तरीका चाहिए।

उत्तर

0

मैं जावास्क्रिप्ट ऑब्जेक्ट मॉडल का उपयोग कर उन्हें इतनी तरह पाने के लिए समाप्त हो गया:

function GetComments(listname, itemId) { 
    var siteUrl = _spPageContextInfo.webAbsoluteUrl.replace("publishing", "authoring"); 
    if ($(".comments-history").length) { 
     $().SPServices({ 
      operation: "GetVersionCollection", 
      async: false, 
      webURL: siteUrl, 
      strlistID: listname, 
      strlistItemID: itemId, 
      strFieldName: "Comments", 
      completefunc: function (xData, Status) { 

       $(xData.responseText).find("Version").each(function (data, i) { 

        var xmlComment = $(this)[0].outerHTML; 
        var arr = xmlComment.split(/comments|modified|editor/g); 
        var comment = arr[1].trim().substring(2, arr[1].length-2); 
        var dateSt = Date.parse((arr[2].substring(1, arr[2].length)).replace('/"', '')); 
        var user = getUsername(arr[3]); 

        var st = "<div class='comment-item'><div class='comment-user'>" + user + "(" + FormatDate(dateSt) + ")</div>"; 
        st += "<div class='comment-text'>" + comment + "</div></div>"; 
        $(".comments-history").append(st); 
       }); 
      } 
     }); 
    } 
} 

पार्स बेहतर हो सकता है, लेकिन यह सिर्फ एक प्रारंभिक काम कर विचार

है
संबंधित मुद्दे