代码之家  ›  专栏  ›  技术社区  ›  Tsahi Levent-Levi

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

  •  3
  • Tsahi Levent-Levi  · 技术社区  · 16 年前

    我想在SharePoint中保存文档库子文件夹的页面上放置一个Web部件,但不知怎么地,我得到的只是文档库的根文件夹。

    是否有满足此需求的Web部件?

    8 回复  |  直到 16 年前
        1
  •  1
  •   community wiki anonymous    16 年前

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

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

    最好创建一个筛选Web部件并将该筛选器提供给列表Web部件,以便它根据文档库的fileref字段中定义的子文件夹进行筛选。但是,它似乎能够使用的过滤器是类型、修改者和修改者。因此,您可以将其筛选为您所接触的文档,而不是特定位置的文档。

    最终结果:滚动您自己的Web部件。

        2
  •  2
  •   Jake1164 Sipka    12 年前

    下面是如何在SharePoint2010中只使用JavaScript,而不需要使用SharePoint设计器。

    1. 在Web部件页上创建文档库Web部件
    2. 更改视图以显示没有文件夹的所有项目,并将项目限制设置为足够大的数字,以便不存在批处理。
    3. 添加内容编辑器Web部件 在下面 文档库Web部件
    4. 添加以下javascript并更改第一个变量以满足您的需要

    注意:如果您有多个文档库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> 
    
        3
  •  1
  •   Nat    16 年前

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

    例如

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

    因此,尽管WebDAV接口是“谎言”,但文件夹并不是“真正的”文件夹。 例如 \\sharepointsite\documents

    应该有一种方法来包含所需的rootfolder参数,比如链接到包含querystring的页面(远离理想)。

    我不知道有什么Web部件可以这样做。

        4
  •  1
  •   Jennifer Kong    11 年前

    我可以通过创建一个新列并为整个共享文档列表指定关键字来实现这一点。

    然后我必须添加元数据。 再次将Web部件添加到页面。 创建一个允许将文件显示为简单列表的视图,并对新列进行筛选(即,关键字是/包含的位置----)。 然后我在网页上得到我想要的带有Web部件的列表。

        5
  •  1
  •   AlexB borjafp    9 年前

    我有一份工作,我用过,不需要设计师。不是很优雅,但任何一个超级用户都能做到。

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

    复制那个链接。删除 &FolderCTID 以及接下来的一切。在这种情况下,剩下的是:
    www.mysite.com/sharepoint/default.aspx?RootFolder=%2Fsubfoldername

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

        6
  •  1
  •   Alberto S.    7 年前

    面对这个问题的另一种方式是使用内容搜索Web部件(cswp)并基于以下内容筛选结果:

    • 文件夹路径
    • 网址深度

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

    结果如下:

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

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

    path:[your site]/Docs/"our team"
    
        7
  •  0
  •   Denis M. Kitchen    14 年前

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

        8
  •  0
  •   Asad Ali Sandhu    11 年前

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

    这样做只会显示根文件夹文件。