SharePoint 2013 - переопределение полей с помощью JavaScript - PullRequest
0 голосов
/ 05 октября 2018

Недавно мне было поручено настроить несколько простых изменений на сайте SharePoint.

Несколько начальных условий:
- это sharepoint 2013
- его следует реализовать с помощью JS
- Я обладаю базовыми знаниями в области JS и не имею опыта работы с SharePoint

У меня есть файл JS, связанный с представлением на моей странице.Когда я тестирую с помощью sth, например alert('a'), он работает просто отлично.

Однако, когда я пытаюсь манипулировать sth, который находится внутри представления - например, выделение значений в столбце Priority Мне не повезло.

Это код, который я использую:

(function () { 

    // Create object that have the context information about the field that we want to change it's output render  
    var priorityFiledContext = {}; 
    priorityFiledContext.Templates = {}; 
    priorityFiledContext.Templates.Fields = { 
        // Apply the new rendering for Priority field on List View 
        "Priority": { "View": priorityFiledTemplate } 
    }; 

SPClientTemplates.TemplateManager.RegisterTemplateOverrides(priorityFiledContext); 

})(); 

// This function provides the rendering logic for list view 
function priorityFiledTemplate(ctx) {

    var priority = ctx.CurrentItem[ctx.CurrentFieldSchema.Name]; 

    // Return html element with appropriate color based on priority value 
    switch (priority) { 
        case "(1) High": 
            return "<span style='color :#f00'>" + priority + "</span>"; 
            break; 
        case "(2) Normal": 
            return "<span style='color :#ff6a00'>" + priority + "</span>"; 
            break; 
        case "(3) Low": 
            return "<span style='color :#cab023'>" + priority + "</span>"; 
    }
}

И это мое мнение:

enter image description here

Я пробовал и с включенной, и с отключенной MDS.Я пытался закрепить код в редакторе сценариев и как часть веб-части HTML.Я взял этот пример кода с сайта MS, где он работает просто отлично: https://code.msdn.microsoft.com/office/Client-side-rendering-code-0a786cdd

Буду признателен за некоторую помощь, я пробовал разные настройки свойств, когда я загружал код на мастер-страницы, я пытался поместить егов других каталогах, но на самом деле ничего не работает.

1 Ответ

0 голосов
/ 11 октября 2018

После копания в течение некоторого времени оказывается, что хотя имя столбца выглядит как Приоритет , это было только отображаемое имя.
После проверки источника HTML оказалось, что по какой-то причине его фактическое имя _x007a_it4 .

...