В этой статье я расскажу, как можно убрать ссылки с Lookup поля в представлении. Для этого мы переопределим шаблон рендера полей.
Для этого нам нужно или создать файл js и подключить его к веб-части через jsLink, можно добавить ссылку на файл через веб-часть «Редактор скриптов» или можно просто добавить код непосредственно в веб-часть «Редактор скриптов».
для начала нужно перечислить поля для которых мы будем переопределять шаблон рендера
далее сама функция RemoveLinkToField
в ней происходит проверка какого типа поле отправили в функцию и если "Lookup" или "LookupMulti", то убираем ссылку. для всех остальных типов полей значение возвращается как оно и было изначально.
весь код:
надеюсь статья была вам полезна.
Для этого нам нужно или создать файл js и подключить его к веб-части через jsLink, можно добавить ссылку на файл через веб-часть «Редактор скриптов» или можно просто добавить код непосредственно в веб-часть «Редактор скриптов».
для начала нужно перечислить поля для которых мы будем переопределять шаблон рендера
1 2 3 4 5 6 7 8 9 10 11 | ( function () { var overrideCtx = {}; overrideCtx.Templates = {}; overrideCtx.Templates.Fields = { "Phone" : { // интерал нейм поля "View" : RemoveLinkToField // для какого представления и с помощью какой функции осуществляем рендер } }; SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideCtx); })(); |
далее сама функция RemoveLinkToField
в ней происходит проверка какого типа поле отправили в функцию и если "Lookup" или "LookupMulti", то убираем ссылку. для всех остальных типов полей значение возвращается как оно и было изначально.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function RemoveLinkToField(ctx) { var fieldValue = ctx.CurrentItem[ctx.CurrentFieldSchema.Name]; switch (ctx.CurrentFieldSchema.FieldType) { case "Lookup" : return fieldValue[0].lookupValue; break ; case "LookupMulti" : var array = []; for ( var i = 0; i < fieldValue.length; i++) { array.push(fieldValue[i].lookupValue); } return array.join( "; " ); break ; default : return fieldValue; } } |
весь код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | ( function () { var overrideCtx = {}; overrideCtx.Templates = {}; overrideCtx.Templates.Fields = { "Phone" : { "View" : RemoveLinkToField } }; SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideCtx); })(); function RemoveLinkToField(ctx) { var fieldValue = ctx.CurrentItem[ctx.CurrentFieldSchema.Name]; switch (ctx.CurrentFieldSchema.FieldType) { case "Lookup" : return fieldValue[0].lookupValue; break ; case "LookupMulti" : var array = []; for ( var i = 0; i < fieldValue.length; i++) { array.push(fieldValue[i].lookupValue); } return array.join( "; " ); break ; default : return fieldValue; } } |
надеюсь статья была вам полезна.
Комментариев нет:
Отправить комментарий