我想在包含 SharePoint 中文档库子文件夹的页面上放置一个 Webpart,但不知何故,我得到的唯一东西是文档库的根文件夹。
是否有满足这种需求的 Webpart?
我想在包含 SharePoint 中文档库子文件夹的页面上放置一个 Webpart,但不知何故,我得到的唯一东西是文档库的根文件夹。
是否有满足这种需求的 Webpart?
以下是在 Sharepoint 2010 中仅使用 Javascript 而不需要 SharePoint Designer 的方法。
注意:如果您有多个文档库 Web 部件,则需要添加到此代码。
<script type="text/javascript" language="javascript">
//change this to meet your needs
var patt = /FOLDER%20TO%20SEARCH/gi;
var x = document.getElementsByTagName("TD"); // find all of the TDs
var i=0;
for (i=0;i<x.length;i++)
{
if (x[i].className =="ms-vb-title") //find the TDs styled for documents
{
var y = x[i].getElementsByTagName("A"); //this gets the URL linked to the name field
//conveniently the URL is the first variable in the array. YMMV.
var title = y[0];
//search for pattern
var result = patt.test(title);
//If the pattern isn't in that row, do not display the row
if ( !result )
{
x[i].parentNode.style.display = "none"; //and hide the row
}
}
}
</script>
默认情况下,我认为这是不可能的。
将显示共享文档的列表 Web 部件了解如何呈现库,但不了解如何过滤以仅显示一个子文件夹的内容。
最好创建一个筛选器 Web 部件并将该筛选器提供给列表 Web 部件,以便它根据文档库的 fileref 字段中定义的子文件夹进行筛选。然而,它似乎能够使用的过滤器是类型、修改和修改者。因此,您可以将其过滤到您触摸的文档,而不是给定位置的文档。
最终结果:滚动您自己的 Web 部件。
原因是webpart选择的文件夹不是由webpart本身控制的,而是由一个querystring参数控制的。
例如
"?RootFolder=%2fDocuments%2fMyFolder1&FolderCTID="
所以文件夹不是“真正的”文件夹,尽管“谎言”是 webdav 界面,例如\\sharepointsite\documents
应该有一种方法可以包含所需的 RootFolder 参数,例如链接到包含查询字符串的页面(远非理想)。
我不知道有任何网络部件可以做到这一点。
我可以通过创建一个新列并为整个共享文档列表指定一个关键字来做到这一点。
然后我必须添加元数据。将 WebPart 再次添加到页面。创建一个可以将文件显示为平面列表的视图,并在新列上进行过滤(即关键字所在/包含----)。然后我在带有 Web 部件的页面上获得我想要的列表。
我有一个不需要 Designer 的解决方法。没有那么优雅,但任何高级用户都可以实现。
添加库 Web 部件后,转到页面并向下单击要设为默认文件夹的文件夹。看到页面链接现在显示如下内容:
www.mysite.com/sharepoint/default.aspx?RootFolder=%2Fsubfoldername&FolderCTID=...
复制那个链接。删除&FolderCTID
以及随后的所有内容。在这种情况下,剩下的是:
www.mysite.com/sharepoint/default.aspx?RootFolder=%2Fsubfoldername
使用此链接导航到页面,库将在该页面中按您的需要显示。请注意,它不会替换该页面的默认视图。
面对此问题的另一种方法是仅使用内容搜索 WebPart (CSWP) 并根据以下内容过滤结果:
您将需要一个符合您要求的 UrlDepth 值。最好的办法是使用一个较高的值,比如 10,然后减少,直到它只显示您需要的文件。关于文件夹路径,删除(引号)“,这样查询将执行“包含”查找,而不是“等于”:
结果将是这样的:
path:[your site]/Docs/our_team UrlDepth:7
如果文件夹名称包含空格,您可能需要用引号将其括起来。就像是:
path:[your site]/Docs/"our team"
我使用的一种替代方法是将页面查看器 Web 部件放在页面上,然后选择“文件夹”作为要查看的内容类型。然后将 webdav UNC 指定到文件夹,例如“\some_sharepoint-site\some_site\shared documents\some_folder\”
将文档库列表视图 Web 部件放置在任何页面上。编辑 Web 部件。从过滤器中选择列“内容类型”和值“文件夹”保存,您就完成了。
通过这样做,它只会向您显示根文件夹文件。