SharePoint内容类型
SharePoint 内容类型(Content Type)
SharePoint 引入了一个新的特性叫做 Content Type。我们都希望对文档库或列表进行更深一层的控制。比如,你可以在一个文档库中关联多个类型,每个类型关联一个特定的文档模板,工作流或元数据。 这样,我们就可以利用内容类型这个特性将某个类别的文档集中存储在一个文档库中。关联的工作流可以帮助您处理文档的各种状态,自动对文档进行处理,如当审批通过后改变文档的权限,将文档转换为PDF等等。下面以一个自定义列表为例,看看具体的效果。这种应用场景也比较常见,比如你要记录每天与客户沟通的情况。在项目周期中或者对于一个销售人员,这是一个基本工作。你的记录中应该包括一些基本条目,任务,事件,或者任何你认为应该有的东西。使用内容类型的好处这时就显现出来了,所有与客户相关的或项目相关的内容可以组织到一个视图中。我们再也不必在多个列表中跳来跳去了。让我带你一步步地创建一个简单的自定义列表,并且为其关联多个内容类型。创建一个自定义列表Journal进入我们准备要往里写记录的站点。为了方便演示,我这里创建了一个叫Demos/Journal的临时站点。进入站点后,选择“查看全部的站点内容)”,点击“创建”链接 。进入选择要创建的内容类型页面。选择自定义列表,如图所示。 填入列表名“Journal”和描述信息,然后点创建。 默认情况下,新创建好的自定义列表包括一个标题列。我们把它作为所有与该列表关联的内容类型的通用标题列。在我们增加新的内容类型前,我们需要告诉SharePoint该列表要支持多个内容类型。默认一个列表只支持一个内容类型。改变设置需要点击设置下拉菜单,选择列表设置,如图: 进入列表设置修改页面后,可以看到许多自定义列表所需的设置项。在一般设置标签组下面,点击高级设置链接,进入Journal列表的高级设置页。在第一节中包括了是否允许管理内容类型的设置。默认是“否”的,我们选择“是”后保存。现在,我们就可以为Journal列表设置不同的内容类型了。请看演示。 回到修改列表设置页面,你将看到增加了一个新的标签组叫“内容类型”。只有一个叫Item 的内容类型列在下面。这个内容类型就是在我们点新建时,让我们仅输入一个标题的那个内容类型。
SharePoint 隐藏自定义列表中的某些栏
客户提出的很有趣的一个关于Windows SharePoint Services的问题。要求我快速解答并且不能增加任何的代码量。下面是我巧妙的(个人认为)解决方案。 在我们使用由WSS构建的网站时,往往会遇到这样的需求。某些用户有权访问一个特定的站点,并且可以进入其下面的某个自定义列表。我们希望这个用户可以查看所有的栏,但是只能更新列表项里其中的某一部分栏的内容。我们可以如下设置:1、首先进入一个SharePoint自定义列表,并且我们假设您已经添加了一些列表项 2、在我们添加完一个新项后,点击该项的编辑菜单,将进入编辑页面EditForm.aspx 3、在 FrontPage 2003中打开这一页,然后利用文件另存为保存一份副本。可以起名叫EditAdminForm.aspx。这个版本是允许完全访问列表项的,所以一定要保存好。 4、回到编辑页面EditForm.aspx ,重新在FrontPage中打开。 5、选择"Main"Web部件区域中的那个ListFormWebPart,右键,选则“自定义SharePoint列表表单” 6、在每个在 您希望隐藏的栏里,点击对应行中的标签单元格。在FrontPage的导航条上,您可以看到选择HTML标记的地方,点击最近的<TR>标记,整行将被选中。 7、在下拉列表中选择“编辑标记” 8、在出现的快速标记编辑器中将<TR>标记改为<TR style=’”display:none”>后保存。这个操作将把这一行隐藏起来。 9、在每个要隐藏的行上重复上面的步骤。 10、在EditForm.aspx页的某处放置一个隐形对象。这里我用了一个无边框的透明的文本框放到页面左侧。为其指定下面的URL地址:“javascript:location.href=’EditAdminForm.aspx’+location.search” 这段脚本将传递相应列表项的ID给EditAdminForm页面。管理员可以通过培训被告知从哪里找到隐藏的完整栏的访问地址。而一般用户仅仅能看到显示出来的栏。最重要的是我们并没有更改SharePoint默认的保存链接就做到了这一点。进一步发挥,我们使用同样的方法也可以对NewForm.aspx和DispForm.apx做处理,就能实现更多功能了。