Adding scripts to Content Blocks

Posted by Community Admin on 04-Aug-2018 22:36

Adding scripts to Content Blocks

All Replies

Posted by Community Admin on 31-Jan-2013 00:00

Hello, I am trying to add script tags to content blocks. By default RadEditor strips out script tags. I was able to disable this for shared/generic content blocks, but not the content blocks at the Page level. Does anybody know how to do this at the page level?

I was able to do this for shared/generic content blocks by going to:

Settings > Advanced > Content > Controls > ContentBackend > Views > ContentBacked[Edit/Insert] > Sections > MainSection > Fields > Content

Then set "Rad Editor's content filters" to:

FixUlBoldItalic, FixEnclosingP, IECleanAnchors, MozEmStrong, ConvertFontToSpan, ConvertToXhtml, IndentHTMLContent, EncodeScripts, OptimizeSpans, ConvertCharactersToEntities, PdfExportFilter, ConvertInlineStylesToAttributes

Note: this should be the defaults minus "RemoveScripts"

Again, this works for shared/generic content blocks, but not with Page content blocks.

 

 

Posted by Community Admin on 01-Feb-2013 00:00

Hey Ed,

At page-level you're running into an old issue where the filters aren't applied. That bug existed up to v5.2, so more than likely they fixed it implementing the new shared content functionality but haven't gotten around to implement it on a page/template level.

 You can save script tags, just don't try and edit them, or they'll get stripped out.

Before you could map the template of HtmlField by doing the following:

1.
Create .ascx file in your poject and paste the template of Sitefinity html
field. (attach code behind to the template to configure content filters in it)

<%@ Control Language="C#" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Web.UI" TagPrefix="sf" %>
<%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Web.UI.Extenders" TagPrefix="sf" %>
  
<sf:ConditionalTemplateContainer ID="conditionalTemplate" runat="server">
    <Templates>
        <sf:ConditionalTemplate Left="DisplayMode" Operator="Equal" Right="Read" runat="server">
            <sf:SitefinityLabel id="titleLabel_read" runat="server" WrapperTagName="div" HideIfNoText="false" CssClass="sfTxtLbl" />
            <sf:SitefinityLabel id="viewControl" runat="server" WrapperTagName="div" HideIfNoText="false" CssClass="sfRTFContent" />
        </sf:ConditionalTemplate>
        <sf:ConditionalTemplate Left="DisplayMode" Operator="Equal" Right="Write" runat="server">
            <sf:ResourceLinks id="resourcesLinks2" runat="server">
                <sf:EmbeddedResourcePropertySetter Name="Telerik.Sitefinity.Resources.Themes.Default.Styles.EditorDialogs.css" Static="true" ControlID="editControl" ControlPropertyName="DialogsCssFile" />
                <sf:ResourceFile Name="Telerik.Sitefinity.Resources.Themes.Default.Styles.Window.css" Static="true" />
            </sf:ResourceLinks>
            <asp:Label ID="titleLabel_write" runat="server" CssClass="sfTxtLbl" AssociatedControlID="editControl" />
            <asp:LinkButton ID="expandLink" runat="server" OnClientClick="return false;" CssClass="sfOptionalExpander" />
             <asp:Panel ID="expandableTarget" runat="server" CssClass="sfEditorWrp sfClearfix">
                <telerik:RadEditor
                    ID="editControl"
                    runat="server"
                    Skin="Sitefinity"
                    Width="100%"
                    Height="550px"
                    EnableResize="False"
                    EditModes="Design,HTML"
                    DialogHandlerUrl="~/Telerik.Web.UI.DialogHandler.axd"
                    Content=""
                    StripFormattingOptions="Css,Font,Span" >
                    <FlashManager ViewPaths="~/Files" UploadPaths="~/Files" DeletePaths="~/Files" />
                </telerik:RadEditor>
                <sf:RadEditorCustomDialogsExtender runat="server" id="editorCustomDialogsExtender" TargetControlID="editControl"/>
                <sf:SitefinityLabel id="descriptionLabel" runat="server" WrapperTagName="div" HideIfNoText="true" CssClass="sfDescription" />
                <sf:SitefinityLabel id="exampleLabel" runat="server" WrapperTagName="div" HideIfNoText="true" CssClass="sfExample" />
            </asp:Panel>
        </sf:ConditionalTemplate>
    </Templates>       
</sf:ConditionalTemplateContainer>



2. Map the template from
Administration->Settings->Advanced->Controls->ViewMap crete new

Host: Telerik.Sitefinity.Web.UI.Fields.HtmlField

Layout: Relative path to to the template created in step 1 ~/HtmlField.ascx



Restart the application and the template will be in use

For the editor disable content filters on the Prerender event

protected void Page_Load(object sender, EventArgs e)
       
           editControl.PreRender += new EventHandler(editControl_PreRender);
   
       
   
       void editControl_PreRender(object sender, EventArgs e)
       
   
           editControl.DisableFilter(Telerik.Web.UI.EditorFilters.OptimizeSpans);


This thread is closed