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

时间:2010-11-17 09:16:39

标签: sharepoint content-type page-layout

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

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

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

到目前为止我的方法是:

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

然而,我担心网站其他部分的并发症。目前,页面布局的未来使用不是问题,只是现有用途。

我知道通过XML定义更新内容类型不是自动发生的,所以在这方面我很安全,但如何将布局页面“包含”到相关的特定页面?

编辑:如何仅在编辑页面时显示这两个字段,而不是在显示时显示?目前,我的开发站点显示编辑表单恰到好处,但是当我去显示页面时,它显示“是”布尔字段所在的位置,并且在电子邮件字段中输入任何电子邮件地址。

1 个答案:

答案 0 :(得分:0)

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

如果您想要自动添加字段,您可以:

  1. 创建自定义渲染模板 由New / Edit / Display使用 表格列表 (http://weblogs.asp.net/sharadkumar/archive/2008/07/07/how-to-customize-rendering-of-sharepoint-list-form-fields-part-1.aspx)

    < / LI>
  2. 创建自定义ListFieldIterator(或使用默认值) 这将自动获得新的 您的内容类型中的字段 (http://msdn.microsoft.com/en-us/library/aa543922.aspx)

  3. 使用DLL中的代码进行迭代 您的内容类型的字段因此 为...创建必要的控件 您的所有页面都在代码中。如果你使用 FieldControls (http://msdn.microsoft.com/en-us/library/dd571480.aspx), 它会自动创建 默认模板渲染 字段(即,它将显示无线电 按钮,下拉框等,如 由内容中的字段定义 类型)。

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

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