【问题标题】:Sharepoint: Modify the page template of viewsSharepoint:修改视图的页面模板
【发布时间】:2009-12-27 03:03:56
【问题描述】:

我有一个包含多个视图的共享点列表。我可以通过共享点设计器修改视图页面(例如 AllItems.aspx)。不过,我更愿意修改底层模板。

现在我可以直接修改位于 templates\pages\viewpage.aspx 中的默认视图页面模板,但这会影响整个共享点安装。

我宁愿复制这个模板并让我的列表(或视图)指向它。有没有办法我可以做到这一点?

注意:列表/视图是通过 Web UI 创建的,没有任何自定义 XML。

【问题讨论】:

    标签: sharepoint templates schema views


    【解决方案1】:

    看看这个博客:

    http://weblogs.asp.net/soever/archive/2006/11/11/SharePoint-Solution-Generator-2D00-part-1_3A00_-create-a-site-definition-from-an-existing-site.aspx

    基本上,使用 sharepoint 解决方案生成器创建 SharePoint 列表的 VS 解决方案。该解决方案将包含一个名为 schema.xml 的文件,该文件定义了列表和相关视图。然后,您可以自定义 aspx 页面,如 viewlist.aspx,并将架构指向您的自定义页面。当您部署解决方案/功能时,它将使用它部署您的自定义页面。

    互联网上确实有大量信息,当您不知道自己在寻找什么时,很难找到。但这应该让您朝着正确的方向开始。

    另外,根据我的经验,一旦您创建了解决方案,您应该将它(阅读:复制内容)移植到 STSDEV 项目中。 STSDEV 确实向您展示了幕后发生的事情,而其他用于 SP 开发的 VS 工具可以做一些挥手的魔法,当出现问题时会让您一头雾水。只是我的 2 美分。

    【讨论】:

    • 感谢您的提示。我从现有列表中生成了一个解决方案并修改了 schema.xml:我在视图中添加了属性 SetupPath="pages\custom_viewpage.aspx" 并进行了部署。但是,似乎所有视图仍指向默认视图页。有什么想法吗?
    • 只是为了验证一些事情... 1. 您是否将 custom_viewpage.aspx 添加到您的配置单元,在 pages 文件夹中? 2. 创建列表时,是否部署了 custom_viewpage?您可以通过在树中导航来在共享点设计器中检查这一点。根据您的自定义页面的外观,您可能需要创建渲染模板。如果您发布您的 CustomViewPage,它可能会有所帮助。另外,请记住,每次更改架构时,您都需要创建一个新列表,以便正确重新部署任何新内容(如您的自定义视图页面)。
    • 1.是的,我将 custom_viewpage.aspx 保存在 pages 文件夹 2 中。custom_viewpage 目前是手动部署的 (xcopy),没有任何 sharepoint 解决方案包。不,该文件在 SP 设计器中不可见,它应该位于哪里?我认为通过 SP 设计器看不到 pages\ 文件夹。文件本身和原来的差不多,加上一些修改(没什么大不了的)。
    • schema.xml 定义了一个列表模板。当您创建模板中定义的类型的列表时,自定义页面将作为列表的一部分进行部署。因此,当您转到 SP 设计器时,展开您的站点,然后展开您的列表,您应该会看到部署的自定义页面。我想知道您是否真正想要更改的是渲染模板,它是在 Web 部件的主区域中渲染的内容。无论哪种方式,第一步都是确保您对 custom_viewpage.aspx 的自定义更改在 SPDesigner 中可见。
    猜你喜欢
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多