Можно ли назначить идентификатор веб-части в onet.xml? - PullRequest
0 голосов
/ 28 августа 2009

Я сделал страницу с тремя зонами. В onet.xml я определил три веб-части, которые будут добавлены на страницу при создании сайта. Можно ли назначить идентификатор для каждой веб-части в onet.xml или мне нужно написать приемник функций, который соединяет соединения?

Моей первоначальной мыслью было использование самой страницы, но затем мне нужны идентификаторы веб-частей.

Ответы [ 2 ]

0 голосов
/ 21 января 2010

Я нашел два решения. Одним из них является добавление веб-частей в макет страницы, но не в зонах. тогда вы можете использовать идентификаторы, чтобы подключить их.

Но решение, которое я выбрал, состояло в том, чтобы создать функцию «InitConnection» в одной из моих веб-частей, которая подключает все остальные веб-части на странице при первом запуске.

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

0 голосов
/ 28 августа 2009
<AllUsersWebPart WebPartZoneID="TopColumnZone" WebPartOrder="1"><![CDATA[
            <webParts>
                <webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
                    <metaData>
                        <type name="Microsoft.SharePoint.Publishing.WebControls.TableOfContentsWebPart,Microsoft.SharePoint.Publishing,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" />
                        <importErrorMessage>$Resources:cmscore,WebPartImportError;</importErrorMessage>
                    </metaData>
                    <data>
                        <properties>
                            <property name="Title" type="string">$Resources:cmscore,PublishingLayouts_TOCWebPart_Title;</property>
                            <property name="Description" type="string">$Resources:cmscore,PublishingLayouts_TOCWebPart_Description;</property>
                            <property name="ShowPages" type="bool">True</property>
                            <property name="IncludeContentFromStartingLocation" type="bool">False</property>
                            <property name="ChromeType" type="chrometype">None</property>
                            <property name="ChromeState" type="chromestate">Normal</property>
                            <property name="HelpUrl" type="string">/_layouts/help.aspx</property>
                        </properties>
                    </data>
                </webPart>
            </webParts>]]>
        </AllUsersWebPart>

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

<property name="ID" type="string">WebPart1</property>
...