将“共享文档”子文件夹作为Web部件放置在SharePoint中

时间:2008-09-17 11:50:04

标签: sharepoint

我想在一个包含SharePoint文档库子文件夹的页面上放置一个Webpart,但不知何故,我得到的唯一的东西是文档库的根文件夹。

是否有满足此需求的Webpart?

8 个答案:

答案 0 :(得分:2)

以下是如何在仅使用Javascript的Sharepoint 2010中执行此操作,而无需使用SharePoint Designer。

  1. 在您的网页部分页面上创建文档库Web部件
  2. 更改视图以显示没有文件夹的所有项目,并将项目限制设置为足够大的数字,以便没有批次
  3. 在文档库Web部件
  4. 下添加内容编辑器Web部件
  5. 添加以下javascript并更改第一个变量以满足您的需求
  6. 注意:如果您有多个文档库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> 
    

答案 1 :(得分:1)

默认情况下,我认为不可能。

显示共享文档的列表Web部件了解如何呈现库,但不了解如何过滤以仅显示一个子文件夹的内容。

最好创建一个过滤器Web部件并将该过滤器提供给List Web部件,以便根据文档库的fileref字段中定义的子文件夹进行过滤。但是,它似乎能够使用的过滤器是Type,Modified和Modified By。因此,您可以将其过滤为您触摸的文档,但不能过滤给定位置的文档。

最终结果:滚动您自己的网络部分。

答案 2 :(得分:1)

原因是webpart选择的文件夹不受webpart本身的控制,而是由querystring参数控制。

e.g。

"?RootFolder=%2fDocuments%2fMyFolder1&FolderCTID="

因此文件夹不是“真正的”文件夹,尽管“谎言”是webdav界面  例如\\sharepointsite\documents

应该有一种方法可以包含所需的RootFolder参数,例如链接到包含查询字符串的页面(远非理想情况)。

我不知道有任何网站成员这样做。

答案 3 :(得分:1)

我能够通过创建新列并为整个共享文档列表指定关键字来实现此目的。

然后我不得不添加元数据。 再次将WebPart添加到页面。 创建一个允许将文件显示为平面列表的视图,并过滤新列(即关键字是/包含的位置----)。 然后我在网页上找到了我想要的列表。

答案 4 :(得分:1)

我有一个工作,我已经使用过,不需要设计师。不那么优雅,但任何高级用户都可以实现。

在您添加了库Web部件后,转到该页面并单击下一个要作为默认文件夹的文件夹。看到页面链接现在显示如下内容: www.mysite.com/sharepoint/default.aspx?RootFolder=%2Fsubfoldername&FolderCTID=...

复制该链接。删除&FolderCTID以及随后的所有内容。在这种情况下,剩下的是:
www.mysite.com/sharepoint/default.aspx?RootFolder=%2Fsubfoldername

使用此链接导航到页面,库将在该页面中显示。请注意,它不会替换该页面的默认视图。

答案 5 :(得分:1)

面对此问题的另一种方法是使用内容搜索WebPart(CSWP)并根据以下内容过滤结果:

  • 文件夹路径
  • url depth

您需要符合您要求的UrlDepth值。最好的方法是使用高值,如10,然后减少直到它只显示您需要的文件。 关于文件夹路径,删除(引号)&#34;,这样查询将执行&#34;包含&#34;查找,而不是&#34;等于&#34;:

结果将是这样的:

path:[your site]/Docs/our_team  UrlDepth:7 

如果文件夹名称包含空格,您可能需要用引号将其包装起来。类似的东西:

path:[your site]/Docs/"our team"

答案 6 :(得分:0)

我使用的另一种方法是在页面上删除页面查看器Web部件,然后选择“文件夹”作为要查看的内容类型。然后将webdav UNC指定到文件夹,例如“\ some_sharepoint-site \ some_site \ shared documents \ some_folder \”

答案 7 :(得分:0)

将文档库列表视图Web部件放在任何页面上。 编辑Web部件。 从过滤器选择列“内容类型”和值“文件夹” 保存,你就完成了。

通过这样做,它只会显示根文件夹文件。