Skip to content

Instantly share code, notes, and snippets.

@hishaamn
Created October 2, 2024 19:58
Show Gist options
  • Save hishaamn/3ce6eef8d45282b022b1f0ec3d6cc346 to your computer and use it in GitHub Desktop.
Save hishaamn/3ce6eef8d45282b022b1f0ec3d6cc346 to your computer and use it in GitHub Desktop.
public void OnItemSaving(object sender, EventArgs args)
{
var eventArgs = args as SitecoreEventArgs;
var updatedItem = eventArgs.Parameters[0] as Item;
if (this.ShouldSkipItem(updatedItem))
{
return;
}
var itemChanges = eventArgs.Parameters[1] as ItemChanges;
if (itemChanges.FieldChanges.Contains(Constant.FieldId.ApplicationFieldId)) //Application Field ID
{
var applicationLinkNewValue = itemChanges.FieldChanges[Constant.FieldId.ApplicationFieldId].Value;
if (!applicationLinkNewValue.IsNullOrEmpty())
{
Match match = Regex.Match(applicationLinkNewValue, Constant.Pattern.IdPattern);
if (match.Success)
{
var idValue = match.Groups[1].Value;
var applicationItem = this.CoreDatabase.GetItem(new ID(idValue));
if(applicationItem != null)
{
var path = applicationItem.Paths.ContentPath;
applicationLinkNewValue = Regex.Replace(applicationLinkNewValue, Constant.Pattern.IdPattern, $"url=\"{path}\"");
itemChanges.SetFieldValue(updatedItem.Fields[Constant.FieldId.ApplicationFieldId], applicationLinkNewValue);
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment