I did this a long time ago, then when I recently had to do it again, I couldn’t fid any Resources online describing how to do it. Simply adding text to the <Content> tags of the <AllUsersWebPart> declaration didn’t do it. The reason is simple I Think. The content in a CEWP is html, and you need encoded HTML tags for it to show. Otherwise the content will simply be ignored (This is my own theory at least. I haven’t investigated much).
So knowing that you can add any html content. Here is how you add an image for example:
1 2 3 |
<Content xmlns="<a href="http://schemas.microsoft.com/WebPart/v2/ContentEditor">http://schemas.microsoft.com/WebPart/v2/ContentEditor</a>"> &lt;img alt=&quot;&quot; src=&quot;/PublishingImages/image-sample.png&quot;&gt; </Content> |
The easiest way to get encoded HTML is to use an Encoder, like this one. Simply paste your html and press encode. Then paste the results inside the <Content> tag for the CEWP. My full code example can be found below. This is to be put inside the File element in a Module:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
<AllUsersWebPart WebPartZoneID="Right" WebPartOrder="1"> <![CDATA[ <?xml version="1.0" encoding="utf-8"?> <WebPart xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>" xmlns:xsd="<a href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</a>" xmlns="<a href="http://schemas.microsoft.com/WebPart/v2">http://schemas.microsoft.com/WebPart/v2</a>"> <Title>MyTitle</Title> <FrameType>None</FrameType> <Description>MyDescription</Description> <IsIncluded>true</IsIncluded> <ZoneID>Right</ZoneID> <PartOrder>4</PartOrder> <FrameState>Normal</FrameState> <Height /> <Width /> <AllowRemove>true</AllowRemove> <AllowZoneChange>true</AllowZoneChange> <AllowMinimize>true</AllowMinimize> <AllowConnect>true</AllowConnect> <AllowEdit>true</AllowEdit> <AllowHide>true</AllowHide> <IsVisible>true</IsVisible> <DetailLink /> <HelpLink /> <HelpMode>Modeless</HelpMode> <Dir>Default</Dir> <PartImageSmall /> <MissingAssembly>Det går inte att importera den här webbdelen.</MissingAssembly> <PartImageLarge>/_layouts/images/mscontl.gif</PartImageLarge> <IsIncludedFilter /> <Assembly>Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly> <TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName> <ContentLink xmlns="<a href="http://schemas.microsoft.com/WebPart/v2/ContentEditor">http://schemas.microsoft.com/WebPart/v2/ContentEditor</a>" /> <Content xmlns="<a href="http://schemas.microsoft.com/WebPart/v2/ContentEditor">http://schemas.microsoft.com/WebPart/v2/ContentEditor</a>"> &lt;img alt=&quot;&quot; src=&quot;/PublishingImages/image-sample.png&quot;&gt; </Content> <PartStorage xmlns="<a href="http://schemas.microsoft.com/WebPart/v2/ContentEditor">http://schemas.microsoft.com/WebPart/v2/ContentEditor</a>" /> </WebPart> ]]> </AllUsersWebPart> |
This works in SP2010 and 2013. Just change the assembly version to 14 or 15 depending on which you are using. I presume it works the same in 2007 also, but I haven’t tried.