对于我正在处理的其中一个项目,我使用“推荐链接”列表在网站的着陆页上显示切片。基本上我正在以OOTB Sp Tiles(推荐链接列表)的形式显示大约4-5个文档库链接,当点击它们时,它将转到所需的文档库。
我在推荐链接列表中添加了一个元数据选择列,并将其命名为Stage,它有三个选项:Beginning,Intermediate和Final。
我现在面临的挑战之一是根据阶段列中的更改隐藏某些文档库图块。例如,让我们说如果我将阶段从中间更改为开始或从中间更改为最终,我想隐藏某些文档库图块。不确定这是否可行,因为这是OOTB SharePoint磁贴。
请参阅随附的屏幕截图。根据屏幕截图,我希望根据某个阶段列值查看库图块。如果舞台列设置为“开始”,那么我只想在着陆页上查看DSO文档和FCMarketing InfoDocs库图块并隐藏其他图块。同样,如果舞台设置为最终,那么我只想在拼贴上看到FCCases Docs和Sunflower Corp Docs并隐藏其他人。
答案 0 :(得分:0)
您可以在该列表上设置唯一权限。然后在每个项目上,您可以指定要与之共享项目的人员。当您进入列表(第1个屏幕截图)时,其中一个菜单项是"与"共享。您可以使用它来指定谁应该看到链接。
答案 1 :(得分:0)
对于经典视图,您可以使用CSR根据字段值隐藏切片。
示例脚本
<script type="text/javascript">
(function () {
'use strict';
var overrideCtx = {};
overrideCtx.Templates = {};
//OnPostRender call postRenderHandler function.
overrideCtx.OnPostRender = postRenderHandler;
// Register the template overrides.
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideCtx);
})();
function postRenderHandler(ctx) {
var rows = ctx.ListData.Row;
//var currentItem = ctx.CurrentItem;
//the logic how you render your data.
for (var i = 0; i < rows.length; i++) {
var metaDataValue=rows[i]["MetaData"].Label;
alert(metaDataValue);
// Get the wpq of the web part. This will be used to identify the node with id
var wpq = ctx.wpq;
var linksBody = "#promotedlinksbody_" + wpq;
// "2" is metedata field value, hardcode for test purpose
if (metaDataValue !="2") {
$(linksBody + ' > .ms-tileview-tile-root:nth-child(' + parseInt(i + 1) + ')').css('display', 'none');
}
}
}
</script>