2012-04-16 3 views
6

Tridion에 현재 로그인 한 사용자의 TCM URI를 검색하려면 어떻게해야합니까?JavaScript 코드로 현재 로그인 한 사용자의 TCM URI를 검색하려면 어떻게해야합니까?

Tridion 2011에서 GUI 확장을 개발 중이며 현재 로그인 한 사용자가 구성 요소를 체크 아웃했는지 여부를 확인해야합니다. 현재 로그인 한 사용자의 TCM URI를 component.getLockedById()과 비교할 계획입니다.

Tridion의 JavaScript 파일을 볼 때 현재 로그인 한 사용자의 사용자 이름을 검색하는 방법을 알았습니다.

편집
나는 적어도 사용자 이름 검색하는 방법 중 하나 발견했습니다 :이 테스트 할 기회가 없었어요

var username = Tridion.ContentManager.UserSettings.getInstance().getUserName(); 
+1

가 왜에 대한 항목이 있는지 여부를 체크 아웃을 확인해야 할 UI 코드의 표준 조각이 아닌 사용자 정의 PowerTools에서 기능이라고 생각 당신이 찾고 할 수있는 라인이

this._userSettings = Tridion.UI.UserSettings.getJsonUserSettings(true); 

생각 현재 사용자입니까? 항목을 열려고 시도 할 때 일반적으로이 작업을 수행 할 필요는 없습니다. 올바른 OpenMode를 선택하면 항목이 체크 아웃 된 경우 '열린'동작 방식을 제어 할 수 있습니다. –

+0

구성 요소가 체크인되었는지 확인하는 코드를 작성 중입니다. $ models.getItem()을 사용하여 구성 요소 정보를 얻고 필요한 경우 구성 요소를로드합니다. 이 메서드를 사용하면 구성 요소가 가끔씩 현재 사용자에 의해 체크 아웃되는 경우 (이전에 체크 인 된 경우),이 경우 다시 체크해야합니다. 내 아이디어는 현재 로그인 한 사용자를 사용자가 같은지 확인한 다음 구성 요소를 다시 체크인하십시오. 구성 요소를 여는 것이 좋은 대안 방법이 될 수 있습니다. 나는 그것을 들여다 볼 것이다! –

+0

잘못된 방식으로 항목을로드하는 것처럼 보입니다. "load"메소드에는 "load (reload, openMode, suppressError)"매개 변수가 있습니다. 열쇠는 두 번째 매개 변수입니다. 기본적으로 "EDIT_WITH_FALLBACK"으로 설정되어 있습니다. 즉, 항목을로드하면 가능하면 체크 아웃됩니다. 해야 할 일 - openMode 매개 변수를 $ const.OpenMode.VIEW로 명시 적으로 설정하거나 "load"대신 "staticLoad"메소드를 사용하십시오. "staticLoad"는 기본적으로 VIEW 열기 모드로 항목을로드합니다. –

답변

관련 문제