none
SharePoint CSR рендер полей RRS feed

  • Вопрос

  • Здравствуйте! Я заюзал пример http://sptypescript.codeplex.com/SourceControl/latest#SPTypeScript/Sample_CSRTabs/CSRTabs.js 

    все работает.

    Далее хотел сам частично начать его писать и тут возникла проблема...не могу понять почему так.

    в Этом примере есть функция Init:

        function init() {
            var options;
            options = { Templates: {} };
            options.Templates.Item = RenderFields;
            options.OnPostRender = OnPostRender;
            SPClientTemplates.TemplateManager.RegisterTemplateOverrides(options);
        }

    в нем переопределяется 

    options.Templates.Item = RenderFields;

    тоесть он должен мне вызвать функцию:

    RenderFields

    но он это не делает .я пробовал кучу вариантов и ничего не закончилось успехом!

    мой вариант в тестовом виде:

    SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function() {
     function RenderFields(context)
      {
        console.log('s');
      }
      function OnPostRender(context)
      {
        console.log('sss');
      }
    
      function init() {
    
     var options;
            options = { Templates: {} };
            options.Templates.Item = RenderFields;
            options.OnPostRender = OnPostRender;
            SPClientTemplates.TemplateManager.RegisterTemplateOverrides(options);
      }
    
      RegisterModuleInit(SPClientTemplates.Utility.ReplaceUrlTokens("~siteCollection/Style Library/sss.js"), init);
      init();
    
    });
    Вообщем в примере по ссылке он вызывает, а когда сам делаю нет.

    Хотелось бы понять ...в чем же разница и что я не так делаю



    18 января 2016 г. 10:41

Ответы

  • В примере по ссылке используется CSR Custom Layout, а стандартный рендеринг игнорирует шаблоны, кроме Fields. Но если просто переключить режим рендеринга в CSRCustomLayout, то форма не отрисуется и часть функций работать не будет. Нужно делать хаки, чтобы оно заработало.

    Кстати код теперь на github https://github.com/gandjustas/sptypescript


    Business Solutions Architect, SharePoint Expert, Trainer, Speaker and Author http://gandjustas.blogspot.com/ Join Russian SharePoint Community at https://www.facebook.com/groups/sharepointrussian/

    • Предложено в качестве ответа Mikhail Zhuikov 19 января 2016 г. 7:31
    • Помечено в качестве ответа Kadackiy Dmitriy 19 января 2016 г. 8:43
    19 января 2016 г. 1:17

Все ответы

  • OnPostRender -вызывается, а вот 
    RenderFields - нет
    18 января 2016 г. 10:47
  • В примере по ссылке используется CSR Custom Layout, а стандартный рендеринг игнорирует шаблоны, кроме Fields. Но если просто переключить режим рендеринга в CSRCustomLayout, то форма не отрисуется и часть функций работать не будет. Нужно делать хаки, чтобы оно заработало.

    Кстати код теперь на github https://github.com/gandjustas/sptypescript


    Business Solutions Architect, SharePoint Expert, Trainer, Speaker and Author http://gandjustas.blogspot.com/ Join Russian SharePoint Community at https://www.facebook.com/groups/sharepointrussian/

    • Предложено в качестве ответа Mikhail Zhuikov 19 января 2016 г. 7:31
    • Помечено в качестве ответа Kadackiy Dmitriy 19 января 2016 г. 8:43
    19 января 2016 г. 1:17
  • теперь понятно))нужно было сразу спросить...только промучался больше. хотелось бы так же заметить, что Custom Field Type отображаться в примере Стаса не будет.

    Стас, спасибо за ответ и за ваш труд!


    19 января 2016 г. 8:48