Adicionar custom WebPart em Page Layout - SharePoint 2013
Autor: Matheus Dias | Publicado: 2014-11-25T14:19:00-02:00



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:



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


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.