.NET

Editor Extensions – Copy a page with its components

What Sitecore standard copy functionality does:

  1. Copies the whole item tree under the selected item
  2. Copies all item versions (if you have more)
  3. All references (included the datasources in your components) remain the same

So in some cases it is good but especially when you have pages with local component datasources the standard copy function does not really for you.

(more…)

Sitecore iframe field type basics

A few days ago I implemented a custom field which should have 2 dropdowns which are depending on each other (here you can find the whole implementation, in this example I will just show you a simple text field).

So I checked all possible solutions and I decided to use the Iframe type for that. This is a default field provided by Sitecore. So in the source input on the template you need to provide the url for your iframe. In my case it will be a Controller:

Capture (more…)

Glass Mapper – Edit Frame for all fields dynamically

Today I created a rendering component which has around 10 fields but the whole component is not editable in Experience Editor. I decided to use Edit Frame from Glass Mapper. The BeginEditFrame wants all the editable fields as a parameter. But for around 10 fields not that comfortable.

The following code snippet creates an Edit Frame only with 1 field.

(more…)

Sitecore Name Value List field with special characters

The question came up and wrote it to Sitecore StackExchange. Thank you @jammykam for your answer.

The default Sitecore Name Value List field has an annoying issue. It does not allow to use special characters like ‘-‘ for the key. I just digged into the Sitecore.Kernel library and I found a regular expression validation which is hardcoded.

Let’s overwrite this class make it more flexible. The main issue with the implementation that they don’t encode/decode the URI.

(more…)

Personalization Rule highlight on renderings

It was a good idea from one of our client to show a highlight directly on the renderings which use any Personalization Rules in Experience Editor.

I found out to create a HTML extension method for it and then I can include it to renderings. Then I can call it like this:

(more…)