2012-04-16 16 views
6

Jak mogę pobrać identyfikator TCM URI aktualnie zalogowanego użytkownika do Tridion?Jak mogę pobrać identyfikator UM TCM aktualnie zalogowanego użytkownika w kodzie JavaScript?

Pracuję nad rozszerzeniem GUI na Tridion 2011 i muszę sprawdzić, czy Komponent został wyewidencjonowany do aktualnie zalogowanego użytkownika, czy też nie. Planuję porównywanie identyfikatora UM TCM aktualnie zalogowanego użytkownika z numerem component.getLockedById().

Jestem prawie pewien, że widziałem, jak odzyskać nazwę użytkownika aktualnie zalogowany użytkownika, patrząc na pliki JavaScript Tridion.

EDIT
Znalazłem się w jeden sposób, aby odzyskać nazwę użytkownika co najmniej:

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

Dlaczego trzeba sprawdzić, czy elementy są wyewidencjonowanym do bieżący użytkownik? Zazwyczaj nie musisz tego robić, ponieważ możesz po prostu spróbować otworzyć przedmiot. Wybierając prawidłowy tryb OpenMode, możesz kontrolować zachowanie "otwartego", jeśli element jest wyewidencjonowany. –

+0

Piszę fragment kodu, aby upewnić się, że komponent jest sprawdzany. Otrzymuję informacje o składniku za pomocą $ models.getItem() i ładuję komponent, jeśli jest to konieczne. Zauważyłem, że przy użyciu tej metody składnik jest czasami sprawdzany przez bieżącego użytkownika (jeśli był wcześniej sprawdzony) iw tym przypadku muszę go ponownie sprawdzić. Mój pomysł polega na porównaniu aktualnie zalogowanego użytkownika do do kasy użytkownika i jeśli są równe, sprawdź ponownie komponent. Próba otwarcia komponentu może być świetną alternatywną metodą. Zajrzę do tego! –

+0

Wygląda na to, że po prostu ładujesz elementy w niewłaściwy sposób. Metoda "obciążenia" ma trzy parametry - "load (reload, openMode, suppressError)". Klucz jest drugim parametrem. Domyślnie jest ustawiony na "EDIT_WITH_FALLBACK". Oznacza to, że po załadowaniu przedmiotu zostanie on sprawdzony, jeśli to możliwe. Co należy zrobić - jawnie ustaw parametr openMode na $ const.OpenMode.VIEW lub użyj metody "staticLoad" zamiast "load". "staticLoad" domyślnie ładuje element z otwartym trybem WIDOK. –

Odpowiedz

5

Nie miałem okazję przetestować, ale warto patrząc przez SDL Tridion 2011 Projekt Powertools. Jest to plik Użytkowe w:

http://code.google.com/p/tridion-2011-power-tools/source/browse/trunk/PowerTools.Editor/PowerTools/Client/Shared/Scripts/utils.js

To może pomóc. Myślę, że linia może być patrząc na to

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

wierzę, że jest to standardowy kawałek kodu UI zamiast funkcji niestandardowej PowerTools

+2

To wszystko! Dziękuję :) Kod do uzyskania ID: Tridion.UI.UserSettings.getJsonUserSettings (true) .User ["@ ID"] –

Powiązane problemy