试图隐藏视图,但我需要帮助尝试将代码移动到资产库并且只有“页面”上的引用

我正在尝试为视图自定义页面以不显示特定视图(也就是我想从特定视图的页面中隐藏另一个视图)。理想情况下基于组成员身份。最终目标是让我的所有代码都包含在我的网站资产中,以允许在其他页面/视图上重复使用。


我有删除视图的代码,如果我将它放在脚本编辑器中,它就可以工作。由于我试图将我的所有代码放入我的站点资产中,一旦我将其移动到站点资产库,然后添加我的引用,代码就不再运行。


我在站点资产中的代码如下:(在页面和脚本编辑器中时,标记函数包围的相同代码。


SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function () {

  function init() {

    SPClientTemplates.TemplateManager.RegisterTemplateOverrides({

      Templates: {

        Header: function (ctx, columns) {

          var views = JSON.parse(ctx.ListSchema.ViewSelectorPivotMenuOptions);

          //display all View options except 'Create View' & 'Modify View'

          ClientPivotControl.prototype.SurfacedPivotCount = views.length; 

     views = views.filter(function (view) {

        console.log(view.DisplayText, view);

        var isMenu=view.MenuOptionType===2;

        return isMenu || view.DisplayText.indexOf('Owner') <0; // false will not be returned

      });


      ctx.ListSchema.ViewSelectorPivotMenuOptions = JSON.stringify(views);//create string defintion again

      return RenderHeaderTemplate(ctx, columns); //render default Header template

    }

  }

    });

  }

RegisterModuleInit(SPClientTemplates.Utility.ReplaceUrlTokens("~siteCollection/Style Library/hideview.js"), init);

  init();

});

我现在添加到脚本编辑器中以引用站点资产库中的上述代码的参考是:


<script type="text/javascript" src="../SiteAssets/js-test/HideOwnerViews.js"></script>

我想要使用站点资产库中的代码隐藏视图的功能,而不是直接嵌入到页面中。


喵喵时光机
浏览 136回答 1
1回答

当年话下

如果您的 js 库托管在根 Web 中,请将该库引用为<script&nbsp;type="text/javascript"&nbsp;src="/SiteAssets/js-test/HideOwnerViews.js"></script>如果您的 js 库托管在子 Web 中,请将该库引用为<script&nbsp;type="text/javascript"&nbsp;src="/site/child/SiteAssets/js-test/HideOwnerViews.js"></script>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript