因此,在对外部SharePoint网站上是否应该使用CEWP或HTML Field Control进行大量研究之后,我们决定使用Field Control(非常感谢AC)。现在,我们遇到的一个问题是,我读过的所有博客都不应该成为问题。
当我们将相对URL放入HTML编辑器并点击“确定”时,它会自动更改为绝对URL。这显然是我一直在做的一些研究中Internet Explorer的“功能”。 TinyMCE有一个解决这个问题的方法。我想知道是否有一些我缺少的SharePoint控件的工作。
我冒昧地创建了一个显示问题示例的视频。如果我没有充分解释,你可以在这里找到:www.youtube.com/watch?v = Chwu5W2cCR4
这对我们来说是个大问题,因为我们有一个创作网站和www网站。因此,当在创作网站上完成创作并且所有链接都迁移到www网站时,它们是http:// authoring.domain.com/en-us/Pages / ...而不是/ en-us /网页/...
(编辑“删除”链接)
答案 0 :(得分:2)
我也遇到过这个问题。我们通过功能部署了自定义站点字段和内容类型。 HTML字段的RichText属性在caml中正确为true,但是一旦在根网站字段集合中部署了SPField,并且每个页面列表中的RichText属性都变为false。
通过在部署站点列和内容类型的功能上使用功能接收器,我能够成功解决问题。我的代码遍历站点中的每个Web,然后迭代字段以更新它们。
代码段:
private void processweb(SPWeb web)
{
SPList list = web.Lists["Pages"];
SPField field;
for (int i = 0; i < list.Fields.Count; i++)
{
field = list.Fields[i];
//to work around a sharepoint defect ... make html fields work in richtext mode
if (field != null && string.Compare(field.TypeAsString, "HTML", true) == 0 && (field as SPFieldMultiLineText).RichText == false)
{
(field as SPFieldMultiLineText).RichText = true;
field.Update(true);
}
}
foreach (SPWeb w in web.Webs)
{
processweb(w);
}
}