Обязательное поле / FieldRef Content Type не работает правильно для валюты - PullRequest
0 голосов
/ 31 августа 2011

В поле ContentType xml указано поле для валюты. Любое другое обязательное поле в типе контента работает, как и ожидалось, для панели списка, но не отображается как требуется. Я действительно не вижу, что не так, кто-нибудь может помочь, пожалуйста?

<Field ID="{060e50ac-e9c1-4d3c-b1f9-de0bcac300f6}" Name="Price" DisplayName="Price" Type="Currency" Decimals="2" Min="0" Required="TRUE" Group="MyGroup" ColName="Price"/>

...

<ContentType ID="0x01000a35b7a7e98c46248e063d79ddd67f6c"
           Name="MarketPlaceContentType"
           Group="MyGroup"
           Description="Market place item, holds Title, Description, Category etc"
           Inherits="FALSE"
           Overwrite="TRUE"
           Version="0">


<FieldRef ID="{060E50AC-E9C1-4D3C-B1F9-DE0BCAC300F6}" Name="Price" DisplayName="Price" Required="TRUE" />    

Ответы [ 2 ]

1 голос
/ 08 ноября 2011

Мы решили эту проблему для тех, кто читает это и тратит умственные часы, как я !!!!

Тип контента позволяет вам создать базовую структуру данных для повторного использования, например, элемент JumbleSale.Элемент имеет различные свойства, которые уже существуют в SharePoint в виде столбцов сайта, например заголовок.Он также имеет некоторые свойства, которые являются уникальными для «ПОЛЬЗОВАТЕЛЬСКОГО ПРОЕКТА», например Location и некоторые, которые являются уникальными для элемента, например Price.

Тип содержимого JumbleSale определяет структуру, которая содержит все эти свойства вместе.Новые поля, уникальные для данного типа контента, определяются в elements.xml типа контента.На повторно используемые поля из столбцов сайта «CUSTOM PROJECT» и SharePoint ссылаются через свойства FieldRef (примечание. «CUSTOM PROJECT» Столбцы сайта могут быть определены в полях Custom'CUSTOM PROJECT'Fields).

Определения списка, объявленные через schema.xml, ссылаются на определения этих типов контента.Они также перечисляют виды и фильтры.(NB. OTB Visual studio скопирует определение типа контента в раздел ref поля типа контента в schema.xml. Чтобы избежать сложностей, удалите дубликаты FieldRef.) Чтобы обновить displayName любого столбца сайта SharePoint в определении списка: Redeclareполя путем копирования определения поля в раздел Поле в схеме.Обновите свойство displayName. Add Sealed = ”TRUE”

Обновите представления, чтобы отобразить столбцы того типа контента, который вы хотите отобразить.

Просмотрите эту ссылку для похожего сценария, http://spandothers.wordpress.com/2009/01/17/renaming-the-title-column-in-a-sharepoint-list/

1 голос
/ 04 ноября 2011

Я работаю над этим с Бёртом и могу немного больше рассказать о проблеме, руководство по тому, что мы делаем неправильно, было бы здорово !!

1) Мы создали тип контента.

Например,

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

    <Field ID="{060e50ac-e9c1-4d3c-b1f9-de0bcac300f6}" Name="Price" DisplayName="Price" Type="Text" Required="False" Group="" ColName="Price" StaticName="Price" />

    <!-- Parent ContentType: Item (0x01) -->
    <!-- set  Inherits="FALSE" so the new template is picked up-->
    <ContentType ID="0x01000a35b7a7e98c46248e063d79ddd67f6c"
                 Name="MarketPlaceContentType"
                 Group=""
                 Description="Market place item, holds Title, Description, Category etc"
                 Inherits="FALSE"
                 Version="0">
        <FieldRefs>
            <FieldRef ID="{060E50AC-E9C1-4D3C-B1F9-DE0BCAC300F6}" Name="Price" DisplayName="Price" Required="TRUE" />
        </FieldRefs>
    </ContentType>
</Elements>

2) Мы создали определение списка с использованием этого типа контента

<</p>

?xml version="1.0" encoding="utf-8"?>
<List xmlns:ows="Microsoft SharePoint" Title="Lists - MarketPlace" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/Lists-MarketPlace"
      BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/" NavigateForFormsPages="False" DisableAttachments="true" BrowserFileHandling="permissive" EnableContentTypes="TRUE">
    <MetaData>
        <ContentTypes>
            <ContentType ID="0x01000a35b7a7e98c46248e063d79ddd67f6c" Name="MarketPlaceContentType"
                         Group="" Description="Market place item, holds Title, Description, Category etc" >
                <FieldRefs>
                            <FieldRef ID="{060E50AC-E9C1-4D3C-B1F9-DE0BCAC300F6}" Name="Price" DisplayName="Price" Required="true" />
                   </FieldRefs>
            </ContentType>
        </ContentTypes>
        <Fields>
            <Field ID="{060e50ac-e9c1-4d3c-b1f9-de0bcac300f6}" Name="Price" DisplayName="Price" Type="Text" Required="True" Group="" />
        </Fields>
        <Views>
            <View BaseViewID="0" Type="HTML" MobileView="TRUE" TabularView="FALSE">
                <Toolbar Type="Standard" />
                <XslLink>main.xsl</XslLink>
                <RowLimit Paged="TRUE">30</RowLimit>
                <ViewFields>
                    <FieldRef Name="LinkTitleNoMenu">
                    </FieldRef>
                </ViewFields>
                <Query>
                    <OrderBy>
                        <FieldRef Name="Modified" Ascending="FALSE">
                        </FieldRef>
                    </OrderBy>
                </Query>
                <ParameterBindings>
                    <ParameterBinding Name="AddNewAnnouncement" Location="Resource(wss,addnewitem)" />
                    <ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />
                    <ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_ONET_HOME)" />
                </ParameterBindings>
            </View>
            <View BaseViewID="1" Type="HTML" WebPartZoneID="Main" DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" DefaultView="TRUE" MobileView="TRUE"
                  MobileDefaultView="TRUE"
                  SetupPath="pages\template\marketpgviewpage.aspx" ImageUrl="/_layouts/images/generic.png" Url="AllItems.aspx" >
                <Toolbar Type="Standard" />
                <XslLink Default="TRUE">main.xsl</XslLink>
                <RowLimit Paged="TRUE">10</RowLimit>
                <ViewFields>
                    <FieldRef Name="MarketplaceCategories" DisplayName="Category"></FieldRef>
                    <FieldRef Name="LinkTitle" DisplayName="Title"></FieldRef>
                    <FieldRef Name="Author" DisplayName="Name" />
                    <FieldRef Name="Created" Format="DateOnly"  DisplayName="Date"/>
                    <FieldRef Name="Locations" DisplayName="Location"></FieldRef>
                    <FieldRef Name="MarketplaceItemExpiryDate" DisplayName="Expiry Date" Format="DateOnly"></FieldRef>
                </ViewFields>
                <Query>
                    <OrderBy>
                        <FieldRef Name="ID" Ascending="False" />
                    </OrderBy>
                </Query>
                <ParameterBindings>
                    <ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />
                    <ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_DEFAULT)" />
                </ParameterBindings>
            </View>
            <View BaseViewID="2" Type="HTML" WebPartZoneID="Main" DisplayName="Items By Category" DefaultView="false" MobileView="TRUE"
                  MobileDefaultView="TRUE"
                  SetupPath="pages\template\marketpgviewpage.aspx" ImageUrl="/_layouts/images/generic.png" Url="ItemsByCategory.aspx" >
                <Toolbar Type="Standard" />
                <XslLink Default="TRUE">main.xsl</XslLink>
                <RowLimit Paged="TRUE">10</RowLimit>
                <ViewFields>
                    <FieldRef Name="LinkTitle" DisplayName="Title"></FieldRef>
                    <FieldRef Name="Price"/>
                </ViewFields>
                <Query>
                    <Where>
                        <Eq>
                            <FieldRef Name="MarketplaceCategories" />
                            <Value Type="Text">{MarketplaceCategories}</Value>
                        </Eq>
                    </Where>
                    <OrderBy>
                        <FieldRef Name="Created" Ascending="False" />
                    </OrderBy>
                </Query>
                <ParameterBindings>
                    <ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />
                    <ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_DEFAULT)" />
                    <ParameterBinding Name="MarketplaceCategories" Location="Control(tcCategories, SelectedItem)"/>
                </ParameterBindings>
            </View>


        </Views>
        <Forms>
            <Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main"/>
            <Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
            <Form Type="DisplayForm" Url="CustomDisplayForm.aspx" SetupPath="features\$SharePoint.Feature.DeploymentPath$\MarketPlace\displayitem.aspx" UseLegacyForm="true" WebPartZoneID="Main" Template="MarketPlaceDisplayForm"/>
        </Forms>
    </MetaData>
</List>

3) Наши типы контентаесть различные поля, которые мы хотим изменить их атрибуты, но мы не можем легко их обновить.

Любые указатели на то, что мы делаем неправильно, были бы великолепны !!!!

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