Using a plugin to render a content fragment without site theme

I've been getting on quite well working through a bunch of Plugin examples as I get used to coding with Telligent.. so far so good. It's a nice change to be able to run a plugin build & see the changes within 20 seconds! 

One thing I'm doing as a proof-of-concept is render a widget via a contentFragmentPage XML definition.. this works pretty well as it stands.. giving me a custom page which renders the widget of my choosing into the page (nice to be able to do this via the plugin rather than relying on someone editing a page & dragging widgets into it). 

void INavigable.RegisterUrls(IUrlController controller)
{

	string debugUserWidget = @"<contentFragmentPage pageName=""common-home"" isCustom=""false"" layout=""Content"" themeType=""0c647246-6735-42f9-875d-c8b991fe739b"">
			<regions>
			  <region regionName=""Content"" >
				<contentFragments>
				  <contentFragment type=""Telligent.Evolution.ScriptedContentFragments.ScriptedContentFragment, Telligent.Evolution.Platform::b79ba25fa17048ba83bb844fc80bab5b"" showHeader=""False"" cssClassAddition=""no-wrapper with-spacing responsive-1"" isLocked=""False"" configuration="""" />
				</contentFragments>
			  </region>
			</regions>
			<contentFragmentTabs />
		  </contentFragmentPage>";

	// Render a widget into a custom page (which has a full site header + footer)
	controller.AddPage("e14-examples-widget", "examples/widget", null, null, "examples/widget", new PageDefinitionOptions
	{
		HasApplicationContext = false,
		SetCustomPageOutput = (context, outputController) => { },
		ParseContext = (context) => { },
		Validate = (context, accessController) => { }, 
		DefaultPageXml = debugUserWidget
	});

}

One thing I was wondering whether it's possible to do is render it without the site header + footer.. essentially using controller.AddRaw, but the RawDefinitionOptions don't have any property for me to pass the XML definition into.

Any ideas?

Parents Reply Children