2014-05-22 2 views
5

SharePoint 2010에서 2013으로 기존 사용자 지정 플러그 인을 마이그레이션하는 작업을 맡았습니다. SharePoint 2013 솔루션은 webservice를 사용하여 제품 (응용 프로그램)에서 데이터를 가져와야하는 사용자 지정 열을 만들어야합니다. 2010 년에는 js 파일 위치와 함수가 renderpattern을 사용하여 fldtypes_xxxx.xml 파일에서 호출되었습니다. 2013 년에는 UI가 변경되었으므로 JS 파일을 연결할 수 없습니다. 따라서 JSLink 속성을 사용해야했다. 아래의 msdn 기사를 참고 하시고 같은 것을 시도해보십시오.SharePoint 2013의 사용자 지정 필드

http://msdn.microsoft.com/en-us/library/jj220061%28v=office.15%29.aspx

지금은 JS 파일에서 웹 서비스 호출을하고 싶습니다. listid, itemID와 같은 문서의 정보를 가져와 inturn이 외부 응용 프로그램에 webservice 호출을 보내고 sharepoint 라이브러리에서 적절한 문서의 데이터를 가져와야하는 요청을 처리하는 사용자 지정 웹 서비스로 보내야합니다.

나를 안내하십시오.

아래 함수에서 호출을 추가하는 방법.

(function() { 
    var favoriteColorContext = {}; 

    favoriteColorContext.Templates = {}; 
    favoriteColorContext.Templates.Fields = { 
     "FavoriteColorField": { 
      "View": favoriteColorViewTemplate 
     } 
    }; 

    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(
     favoriteColorContext 
     ); 
})(); 

function favoriteColorViewTemplate(ctx) { 
    var color = ctx.CurrentItem[ctx.CurrentFieldSchema.Name]; 
    return "<span style='background-color : " + color + 
     "' >&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;" + color; 
} 
+0

왜 해 보지 않으시겠습니까? var color = ctx.CurrentItem.NameOfYourColumn; AND 열의 이름이 올바른지 확인하십시오. 어제 나는 편집 모드에서 열을 만들었고, "poakspoK"와 같은 다른 이름으로 만든 열의 이름을 입력 할 때 "Type"을 원했습니다. :) –

+0

문제가 지난 주에 있었던 것과 동일하지만 모양이 맞는지 확실하지 않습니다 [여기] [http://sharepoint.stackexchange.com/questions/139771/how-to-access-a-custom -field-of-a-list-using-rest] - 저는 이것이 같은 문제 일 수 있다고 생각합니다. 그리고 당신은 자신 만의 엔드 포인트를 구현해야합니다. – Markus

답변

0

위 코드는보기 필드를 렌더링하기위한 것입니다. 이 경우 favoriteColorViewTemplate 기능에서 이러한 속성을 얻을 수 있습니다 :

  • 목록 ID : ctx.listName 또는 글로벌 변수에서 _spPageContextInfo.pageListId
  • 항목 ID : ctx.CurrentItem.ID

표시하거나 편집의 기능을 사용할 경우 이러한 속성은 약간 다릅니다.

  • 목록 ID : ctx.FormContext.listAttributes.Id 또는 _spPageContextInfo.pageListId
  • 항목 ID : 아마 renderCtx.FormContext.itemAttributes.Id

, 가장 쉬운 방법은 사용자 정의 웹 서비스를 호출하는 JQuery와 $.ajax(...) 전화를 사용하는 것입니다. 여기에 몇 가지 샘플을 확인하십시오 : 당신이 JQuery와 참조를 확인하려면

  1. http://api.jquery.com/jquery.ajax/
  2. http://www.w3schools.com/jquery/ajax_ajax.asp

, 당신은 또한 JSLink를 사용하여 수행 할 수 있습니다,이 같은 | 기호를 사용하여 :

{path to JQuery}|{path to your JS file}

관련 문제