试图隐藏一个视图,但我需要帮助来尝试将代码移动到资产库并且只有 "page" 上的参考

Trying to hide a view but I need help in trying to move the code to the asset library and only have a reference on the "page"

我正在尝试自定义视图的页面以不显示特定视图(也就是我想从特定视图的页面隐藏另一个视图)。理想情况下基于组成员。最终目标是将我的所有代码都放在我的站点资产中,以允许在其他 pages/views.

上重复使用

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

我在站点资产中的代码如下:(在页面上和脚本编辑器中,这些被标签包围的相同代码起作用。

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>

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

如果您的 js 库托管在根网站中,请将库引用为

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

如果您的 js 库托管在子网站中,请将库引用为

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