terça-feira, 25 de novembro de 2014

Adicionar custom WebPart em Page Layout - SharePoint 2013




Segue um post mostrando como incluir WebParts em Page Layouts do SharePoint 2013 criados através do Visual Studio.



Em seu page layout (.xml), adicione a seção "AllUsersWebPart" informando o "WebPartZoneID" correspondente à zona de webparts que deve ter sido criada em seu page layout (arquivo extensão .aspx). Caso tenha mais de uma webpart definida por zona, poderá também informar na propriedade "WebPartOrder", a ordenação destas webparts dentro da zona especificada.

Dentro da seção "AllUsersWebPart", adicione a tag "webParts" e para cada webpart incluída ao page layout, adicione uma nova tag "webPart" com todos os parâmetros definidos como abaixo:



<AllUsersWebPart WebPartZoneID="TopZone" WebPartOrder="1">
    <![CDATA[                                            
      <webParts>
        <webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
          <metaData>
            <type name="<<Class>>, <<Assembly>>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f3b9d1137704f880" />
            <importErrorMessage>Não foi possível importar este elemento.</importErrorMessage>
          </metaData>
          <data>
            <properties>
              <property name="AllowClose" type="bool">False</property>
              <property name="AllowMinimize" type="bool">False</property>
              <property name="AllowConnect" type="bool">True</property>
              <property name="ChromeType" type="chrometype">None</property>
              <property name="Hidden" type="bool">False</property>
              <property name="AllowEdit" type="bool">False</property>
              <property name="AllowZoneChange" type="bool">False</property>
              <property name="MissingAssembly" type="string">Não foi possível importar este elemento.</property>
              <property name="ChromeState" type="chromestate">Normal</property>
            </properties>
          </data>
        </webPart>
      </webParts>
    ]]>
  </AllUsersWebPart>


Em "Type", informe o assembly na propriedade "Name", desta forma o SharePoint irá interpretar qual webpart deverá ser carregada.

O preenchimento incorreto ou ausência das tags "property" implicará em erro ao carregar a webpart, indicando que não foi possível carregar arquivo .dwp ou .webpart.

Qualquer dúvida ou sugestão envie nos comentários.

Nenhum comentário:

Postar um comentário