From 8dc96102d50c768a9bcf0a157f5f29d8edf11ce1 Mon Sep 17 00:00:00 2001 From: "riccardo.jung" Date: Wed, 1 May 2024 13:37:29 +0200 Subject: [PATCH] FEAT (Blog post): Adds new blog post "Extended rich text editor for custom link type" --- ...d-rich-text-editor-for-custom-link-type.md | 283 ++++++++++++++++++ docs/files/2024/05/link-with-tracking.png | Bin 0 -> 37849 bytes docs/files/2024/05/richtext-toolbar.png | Bin 0 -> 2974 bytes 3 files changed, 283 insertions(+) create mode 100644 docs/_posts/2024-05-01-extend-rich-text-editor-for-custom-link-type.md create mode 100644 docs/files/2024/05/link-with-tracking.png create mode 100644 docs/files/2024/05/richtext-toolbar.png diff --git a/docs/_posts/2024-05-01-extend-rich-text-editor-for-custom-link-type.md b/docs/_posts/2024-05-01-extend-rich-text-editor-for-custom-link-type.md new file mode 100644 index 0000000..2023940 --- /dev/null +++ b/docs/_posts/2024-05-01-extend-rich-text-editor-for-custom-link-type.md @@ -0,0 +1,283 @@ +--- +title: "Extend rich text editor for custom link type" +date: 2024-05-01 09:00:00 +0100 +categories: +- Sitecore +tags: +- Sitecore +- Sitecore 10.3 +- Sitecore XP +- Extend link +- Sitecore richt text editor +author: rjung +--- +![alt text](../files/2024/05/link-with-tracking.png "Rich text editor with custom link") + +Based on the previous blog post about ([extenting Sitecore's general link](/11-steps-to-extend-general-link//)), you may also want to enhance the content editing experience for your editors by extending the rich text editor with your newly created link. + +In this tutorial, I’ll guide you through the steps to create a custom dialog for Sitecore’s rich text editor. To achieve this, follow the specified steps: + +## 1. Create your custom DialogForm class + +The first thing you need to do is create your custom DialogForm. It should derive from DialogForm, and you’ll need to override OnCancel and OnOK methods. + +For example: Extending General Link Fields with Tracking Data + +As in our example, you want to enhance the general link fields in your custom dialog by adding tracking data, specifically the fields EventCategory, EventAction, and EventLabel. You can follow these steps: + +* Create your custom DialogForm class, inheriting from the base DialogForm. +* Override the OnCancel and OnOK methods to handle the dialog behavior. +* In the OnOK method, retrieve the values from your custom fields (e.g., EventCategory, EventAction, and EventLabel). +* Append these values to the result or perform any other necessary actions based on the user’s input. + +```c# +using Sitecore; +using Sitecore.Diagnostics; +using Sitecore.Shell.Applications.ContentEditor; +using Sitecore.Text; + +using Sitecore; +using Sitecore.Diagnostics; +using Sitecore.Web.UI.HtmlControls; +using Sitecore.Web.UI.Pages; +using Sitecore.Web.UI.Sheer; + +using System; +using System.Diagnostics.CodeAnalysis; +using System.Text; + +namespace Your.own.namespace +{ + [ExcludeFromCodeCoverage] + public class InsertLinkWithTracking : DialogForm + { + protected Edit URL; + protected Combobox Target; + protected Edit Class; + protected Edit Title; + protected Edit Querystring; + protected Edit EventCategory; + protected Edit EventAction; + protected Edit EventLabel; + + protected override void OnCancel(object sender, EventArgs args) + { + Assert.ArgumentNotNull(sender, "sender"); + Assert.ArgumentNotNull(args, "args"); + if (this.Mode == "webedit") + { + base.OnCancel(sender, args); + } + else + { + SheerResponse.Eval("scCancel()"); + } + } + + protected override void OnOK(object sender, EventArgs args) + { + Assert.ArgumentNotNull(sender, "sender"); + Assert.ArgumentNotNull(args, "args"); + if (string.IsNullOrWhiteSpace(URL.Value)) + { + SheerResponse.Alert("Bitte geben Sie die URL ein.", Array.Empty()); + } + + if (this.Mode == "webedit") + { + base.OnOK(sender, args); + } + else + { + var result = new StringBuilder($"href=\"{URL.Value}"); + if (!string.IsNullOrWhiteSpace(Querystring.Value)) + { + if (Querystring.Value.StartsWith("?")) + { + result.Append(Querystring.Value); + } + else + { + result.Append($"?{Querystring.Value}"); + } + } + result.Append('"'); + if (!string.IsNullOrWhiteSpace(Target.Value)) + { + switch (Target.Value) + { + case "New": + result.Append(" target=\"_blank\""); + break; + } + } + if (!string.IsNullOrWhiteSpace(Class.Value)) + { + result.Append($" class=\"{Class.Value}\""); + } + if (!string.IsNullOrWhiteSpace(Title.Value)) + { + result.Append($" title=\"{Title.Value}\""); + } + + // Custom fields for tracking link + if (!string.IsNullOrWhiteSpace(EventCategory.Value) + && !string.IsNullOrWhiteSpace(EventAction.Value) + && !string.IsNullOrWhiteSpace(EventLabel.Value)) + { + result.Append($" data-clickevent=\\'{{\"eventCategory\": \"{EventCategory.Value}\", \"eventAction\": \"{EventAction.Value}\", \"eventLabel\": \"{EventLabel.Value}\"}}\\'"); + } + + SheerResponse.Eval($"scClose('{result}')"); + } + } + + protected string Mode + { + get + { + string str = StringUtil.GetString(base.ServerProperties["Mode"]); + if (!string.IsNullOrEmpty(str)) + { + return str; + } + return "shell"; + } + set + { + Assert.ArgumentNotNull(value, "value"); + base.ServerProperties["Mode"] = value; + } + } + } +} +``` + +Remark: +* Each line of code except the custom field part originates from the decompiled source of the Sitecore's code. +* It is recommended to place the file in ...\sitecore\shell\Controls\Rich Text Editor\... where all the general controls for the rich text editor of Sitecore are placed. + +## 2. Create the XML for your custom dialog +The next step is to create the visual presentation of the dialog. Therefore, you have to create an XML file which contains the control definition for the dialog. +In the example you can find the tree new fields (EventCategory, EventAction and EventLabel) for our custom tracking link. Additionally, the CodeBeside links to our previous created class. + +```XML + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +## 3. Add your custom control to the rich text commands +In the third step, you need to extend the out-of-the-box JavaScript file that calls your dialog. Therefore, you can copy the default "RichText Commands.js"file from Sitecore and extend it with your newly created control. + +For our example, we added the following code snippet: + +```javascript +// Add the action from the HTML Edit Button Item to CommandList. +Telerik.Web.UI.Editor.CommandList["InsertLinkWithTracking"] = function (commandName, editor, args) { + var d = Telerik.Web.UI.Editor.CommandList._getLinkArgument(editor); + Telerik.Web.UI.Editor.CommandList._getDialogArguments(d, "A", editor, "DocumentManager"); + scEditor = editor; + // Call the dialog box. + editor.showExternalDialog( + "/sitecore/shell/default.aspx?xmlcontrol=RichText.InsertLinkWithTracking&la=" + scLanguage, + null, //argument + 500, //Width + 550, //Height + scInsertLinkWithTrackingCallback, //callback + null, // callback args + "InsertLinkWithTracking", + true, //modal + Telerik.Web.UI.WindowBehaviors.Close, // behaviors + false, //showStatusBar + false //showTitleBar + ); +}; + +// The function is called when the user closes the dialog. +function scInsertLinkWithTrackingCallback(sender, returnValue) { + + if (!returnValue) { + return; + } + var selectedHtml = scEditor.getSelectionHtml(); + if (typeof selectedHtml === "undefined") { + scEditor.pasteHtml("", "DocumentManager"); + } else { + scEditor.pasteHtml("" + selectedHtml + "", "DocumentManager"); + } +}; +``` + +## 4. Add a custom button for the rich text editor +Last but not least a button needs to be placed on the rich text so that the dialog can be triggered. + +Therefore follow these steps: +* Switch the database in Sitecore to the core database and navigate to the following path: "/sitecore/system/Settings/Html Editor Profiles". Here, you’ll find various rich text editor profiles that you can customize. +* Select the profile you want to extend. For example, let’s say you choose the “Rich Text Full” profile. +* Add a "Html Editor Button" to the toolbar. In our example we added the button to "Toolbar 1". +* Customize the button’s properties. In the Data section add your Click-Event to the field Click. In our example "InsertLinkWithTracking". +* To make your button easily identifiable, add a meaningful icon. + + +## 5. Test your implementation +Now everything is implemented and you can test your custom dialog in the rich text editor by clicking the buton in the rich text toolbar. + +Customized richtext toolbar + +If all fields are filled out, the output for our link with tracking will be as follows: + +```html +Custom link with tracking +``` + +Remark: If the dialog shows an error message, clear your cache and reload the page. + +## Conclusion +Let’s wrap it up by summarizing the steps to extend the default rich text editor with your custom button: +* Create your custom DialogForm.cs file +* Create the control for your custom dialog +* Extend the JavaScript file with your control +* Add a "Html Editor Button" to the toolbar in the core database \ No newline at end of file diff --git a/docs/files/2024/05/link-with-tracking.png b/docs/files/2024/05/link-with-tracking.png new file mode 100644 index 0000000000000000000000000000000000000000..9ec53413a848f2bc76fcccc4ce5700f85bdbaab2 GIT binary patch literal 37849 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 Uyx=@L(f|Me07*qoM6N<$f|-)1k^lez literal 0 HcmV?d00001