Недавно я начал работать с JSLinks в SharePoint, и в настоящее время я немного борюсь с чем-то, и несколько часов просмотра и поиска на самом деле мне пока не помогли поэтому я надеялся, что ты сможешь. У меня есть список SharePoint с включенной функцией Like-Feature. Я хотел использовать jsLink для визуализации LikesCount-Column по-разному (изображения Basic Look показывают, как выглядит столбец из окна и Look, на который я хотел пойти)Пользовательский «Like» -Button в списке SharePoint
В основном это то, что я сделал, я посмотрел на базовый код, перенес его в шаблон-Engine и заменить шаблон в SharePoint с помощью следующего кода. Как только это видно, как вы можете видеть во втором изображении, я теряю обработку событий. Поэтому, когда я нажимаю кнопку Like-Button, веб-запрос не будет отправлен, и элемент не понравится.
Был бы очень рад, если кто-то может помочь мне
(function(){
\t var inCtx = {
\t \t Templates: {
\t \t \t Fields: {
\t \t \t \t 'LikesCount':{
\t \t \t \t \t 'View' : LikesCount
\t \t \t \t } \t
\t \t \t }
\t \t },
\t }; \t SPClientTemplates.TemplateManager.RegisterTemplateOverrides(inCtx);
\t function LikesCount(itemCtx){
\t \t var tmplParams = {
\t \t \t ElementId: itemCtx.CurrentItem.ID,
\t \t \t Title: '',
\t \t \t LikesCount : itemCtx.CurrentItem.LikesCount
\t \t };
\t \t var likedByIds = [];
\t \t $.each(itemCtx.CurrentItem.LikedBy, function(index){
\t \t \t likedByIds.push(parseInt(this.id));
\t \t \t tmplParams.Title += this.title;
\t \t \t if(index !== itemCtx.CurrentItem.LikedBy.length-1){
\t \t \t \t tmplParams.Title += this.title +', '
\t \t \t }
\t \t })
\t \t var result = '';
\t \t if(likedByIds.indexOf(itemCtx.CurrentUserId) !== -1){
\t \t \t tmplParams.ImageLink = '***/images/LikeButtonActive.png'
\t \t \t result = $('.likes-count[version="0.1"]').tmpl(tmplParams).html();
\t \t } else {
\t \t \t tmplParams.ImageLink = '***/images/LikeButtonInactive.png'
\t \t \t result = $('.likes-count[version="0.1"]').tmpl(tmplParams).html();
\t \t }
\t \t return result;
\t }
})();
<script class="likes-count" version="0.1" type="text/x-jQuery-tmpl">
\t <span id="root-likesElement-{{html ElementId}}">
\t \t <a href="javascript:;" id="likesElement-{{html ElementId}}" class="ms-secondaryCommandLink"><img class="like-button" src="{{html ImageLink}}" /></a>
\t \t <span title="{{html Title}}" class="ms-comm-likesMetadata ms-metadata">
\t \t \t <span class="ms-comm-likesCount ms-comm-reputationNumbers">{{html LikesCount}}</span>
\t \t </span>
\t
\t </span>
</script>
Отлично. Вы правы, что подход намного сложнее, чем перестраивать полное поле. Большое спасибо! – Chris