Поля в настраиваемом шаблоне списка SharePoint не отображаются в виде элементов списка
Я определил пользовательский шаблон списка со следующими полями:
<Fields>
<Field Type="Text" DisplayName="Sub-Title" Name="SubTitle" StaticName="SubTitle" ShowInNewForm="TRUE"
ShowInEditForm="TRUE" ShowInViewForms="TRUE">
</Field>
<Field Type="URL" DisplayName="Header Image" Name="HeaderPicUrl" StaticName="HeaderPicUrl" ShowInNewForm="TRUE"
ShowInEditForm="TRUE" ShowInViewForms="TRUE">
</Field>
<Field Type="Note" RichText="True" RichTextMode="FullHtml" IsolateStyles="True" NumLines="5" Name="Summary" DisplayName="Summary"
StaticName="Summary" Sortable="False" ShowInNewForm="TRUE" ShowInEditForm="TRUE" ShowInViewForms="TRUE">
</Field>
<Field ID="{7662cd2c-f069-4dba-9e35-082cf976e170}" Type="Note" RichText="TRUE" RichTextMode="FullHtml" IsolateStyles="TRUE"
NumLines="45" Name="Body" DisplayName="$Resources:core,camlid2;" Sortable="FALSE"
SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Body">
</Field>
<Field ID="{6a09e75b-8d17-4698-94a8-371eda1af1ac}" Type="DateTime" Name="Expires" DisplayName="$Resources:core,camlid3;"
Format="DateOnly" FromBaseType="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Expires">
</Field>
</Fields>
Обратите внимание, что ShowInNewForm
, ShowInEditForm
, а также ShowInViewForms
свойства все установлены в TRUE
, Когда я создаю список из развернутого шаблона (я делаю это из VSeWSS 1.3), список имеет правильные поля, но новая форма элемента вообще не отображает настраиваемые поля. Кто-нибудь знает, почему это так? Нужно ли полностью настраивать шаблоны управления, загруженные ListFormWebPart
Разве это не наносит ущерба цели ListFieldIterator
контроль?
Редактировать:
Кроме того, конец файла schema.xml имеет этот бит:
<Forms>
<Form Type="DisplayForm" Url="DispForm.aspx" WebPartZoneID="Main"/>
<Form Type="EditForm" Url="EditForm.aspx" WebPartZoneID="Main"/>
<Form Type="NewForm" Url="NewForm.aspx" WebPartZoneID="Main"/>
</Forms>
2 ответа
Я просто столкнулся с чем-то очень похожим. Пользовательские поля не были обработаны ListFieldIterator. Список был основан на пользовательском определении списка и пользовательском типе контента и включал настраиваемые формы списка. Настраиваемые поля отображаются в типе контента, а также на странице настроек списка. Пользовательские формы списка были копиями готового (12\Template\Pages\) файла form.aspx.
Тип содержимого содержит теги FieldRef ala:
<FieldRef ID="{73AB0549-19DA-43af-938B-873EAD93FE4E}" />
Этот формат предлагается в нескольких местах, например, в статье Furuknap " Создание пользовательского интерфейса SharePoint" (стр. 261).
Добавление атрибута Name в тег
<FieldRef ID="{73AB0549-19DA-43af-938B-873EAD93FE4E}" Name="TestAttachment1" />
Основываясь на этом опыте, я планирую всегда включать атрибут Name в элементы FieldRef пользовательских типов контента. Надеюсь, это сэкономит кому-то еще время.
Когда вы говорите, что создали шаблоны списков с полями, перечисленными здесь, они относятся к типу контента? Если да, соответствует ли определение столбцов в типе содержимого определению полей в schema.xml?
Вы заново создали список после внесения изменений в schema.xml?
РЕДАКТИРОВАТЬ: Поля для включения в schema.xml. Если поля отсутствуют, но находятся только там, где вы определили свои столбцы, возможно, поэтому они не отображаются в newForm.aspx при создании нового элемента.
<Field Type="Text" DisplayName="..." Description="..." Required="FALSE" MaxLength="255" Group="..." ID="{GUID}" Name="..." Hidden="FALSE" ReadOnly="FALSE" />