PublishingWebControls: рендеринг RichHtmlField не работает - PullRequest
0 голосов
/ 07 марта 2012

Я использую тип содержимого сайта RichHtmlField как тип Full HTML со значением = hello PublishingWebControls: тег RichHtmlField на странице макета не отображает его.

Вместо отображения hello .он отображает HTML-теги.

Любая помощь будет приветствоваться.

Спасибо

Ответы [ 2 ]

2 голосов
/ 06 апреля 2012

Я наткнулся на этот пост, когда искал решение точно такой же проблемы, и я думаю, что нашел ответ.

В моем сценарии у меня было несколько полей RichHtmlFields на моей странице, и одно отображалось правильно, покадругого не было.Когда я просматривал поля с помощью powershell, я заметил разницу в SchemaXML, поле WORKING имело следующие дополнительные свойства:

 RichText="True"
 RichTextMode="FullHtml"

Я написал быстрый скрипт powershell для обновления проблемного поля и проблемыушел за мной (см. ниже сценарий).Изменение должно быть сделано на уровне списка, чтобы оно оказало влияние на существующие страницы / списки, но я считаю, что внесение изменений в столбец в корневом веб-сайте (или правильном веб-каталоге) также будет работать.

 $web = $site.OpenWeb($site.RootWeb.ID)
 $list = $web.Lists["Pages"]
 [Microsoft.SharePoint.Publishing.Fields.HtmlField]$field =   [Microsoft.SharePoint.Publishing.Fields.HtmlField]$list.Fields.GetFieldByInternalName("Abst     ract")
 $field.RichText = $true
 $field.RichTextMode = [Microsoft.SharePoint.SPRichTextMode]::FullHtml
 $field.Update()
 $list.Update()
0 голосов
/ 07 марта 2012

Это потому, что ваше поле, помещаемое в RichHtmlField, имеет тип Text, а не HTML.

Если у вас правильный тип контента, вот что вам нужно сделать, чтобы обновить экземпляр списка из schema.xml.

Сначала удалите все страницы, относящиеся к типу контента, перейдите в список страниц и удалите каждый столбец типа контента, а затем удалите тип контента. Зайдите в настройки сайта, затем тип контента сайта и удалите его. Сделайте то же самое для столбцов. Перейдите в настройки сайта, после чего столбцы будут удалять все столбцы из вашего типа контента (хотя они уже должны отсутствовать).

Это происходит потому, что когда вы создаете веб-сайт из типа контента, он берет файл Schema.xml, который описывает, как форматируется тип контента, а затем создает его экземпляр и передает его странице, так что после обновления схемы страница не с момента его инициации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...