代码之家  ›  专栏  ›  技术社区  ›  Christian P.

SharePoint:更改特定页面的页面布局和内容类型

  •  0
  • Christian P.  · 技术社区  · 14 年前

    我在部署的解决方案中有一个页面布局。页面布局还具有关联的自定义内容类型。

    我希望更新此页面布局和内容类型,但仅限于网站上的特定位置。原因是,对于重要的“操作更新”,我们希望能够向订阅用户发送短信息(SharePoint的内置功能,用于列表)并通过电子邮件发送。

    这样做的方式是,我希望添加一个布尔字段来决定是否发送短信息,以及一个字段来放入您希望通知消息的电子邮件地址中。

    到目前为止,我的方法是:

    • 创建一个事件接收器,检查字段是否被选中/填写,并进行实际发送。
    • 用2个新字段更改布局页。
    • 用2个新字段更改内容类型。

    但是,我担心其他网站的并发症。目前,页面布局的未来用途并不是一个问题,而是现有用途。

    我知道通过XML定义更新内容类型不会自动发生,因此在这一方面我是安全的,但是如何将布局页“包含”到有问题的特定页?

    编辑:只有在编辑页面时才显示这两个字段,而不是在显示页面时才显示?目前,我的开发站点正好显示了编辑表单,但是当我转到显示页面时,它显示了布尔字段所在的“是”,以及输入到电子邮件字段所在的任何电子邮件地址。

    1 回复  |  直到 14 年前
        1
  •  0
  •   CodeThug    14 年前

    您确定页面布局与内容类型关联,并且它不是与内容类型关联的页面吗?

    如果希望自动添加字段,可以:

    1. 创建自定义呈现模板 新的/编辑/显示使用的 列表的表单 (http://weblogs.asp.net/sharadkumar/archive/2008/07/07/how-to-customize-rendering-of-sharepoint-list-form-fields-part-1.aspx)

    2. 创建自定义ListFieldIterator(或使用默认的ListFieldIterator) 它会自动接收新的 内容类型中的字段 (http://msdn.microsoft.com/en-us/library/aa543922.aspx)

    3. 使用DLL中的代码迭代 您的内容类型的字段,因此 为创建必要的控件 你的页面都是代码。如果你使用 小精灵 (http://msdn.microsoft.com/en-us/library/dd571480.aspx) 它将自动创建 默认模板呈现 字段(即,它将显示收音机 按钮、下拉框等,如 由内容中的字段定义 类型)。

    在您的编辑中,当您说“编辑页面时”,我假设您的意思是“查看列表的编辑页面时”,而不是“在SharePoint Designer中编辑页面定义时”。

    假设假设是准确的,您可以让列表的编辑页面显示与列表的视图页面(以及列表的新页面)完全不同的内容。默认情况下,页面完全单独定义,并且完全单独编辑。但是,如果您使用的是自动获取内容类型字段列表的内容(如ListFieldIterator),则可以为要隐藏的字段创建自定义字段控件,并将字段控件的视图模板设置为不显示任何内容。