/// <summary> /// Sets current layout. /// </summary> protected void SetCurrentLayout(bool saveToWebPartInstance) { if ((webPart != null) && (LayoutCodeName != "|new|")) { if (saveToWebPartInstance) { if (LayoutCodeName == "|default|") { webPart.SetValue("WebPartLayout", ""); } else { webPart.SetValue("WebPartLayout", LayoutCodeName); } bool isWebPartVariant = (variantId > 0) || (zoneVariantId > 0) || isNewVariant; if (!isWebPartVariant) { // Update page template PageTemplateInfoProvider.SetPageTemplateInfo(pti); } else { // Save the variant properties if ((webPart != null) && (webPart.ParentZone != null) && (webPart.ParentZone.ParentTemplateInstance != null) && (webPart.ParentZone.ParentTemplateInstance.ParentPageTemplate != null)) { XmlNode xmlWebParts = (zoneVariantId > 0) ? webPart.ParentZone.GetXmlNode() : webPart.GetXmlNode(); VariantHelper.SetVariantWebParts(webPart.VariantMode, (zoneVariantId > 0) ? zoneVariantId : variantId, xmlWebParts); // The variants are cached -> Reload webPart.ParentZone.ParentTemplateInstance.LoadVariants(true, VariantModeEnum.None); } } } string parameters = aliasPath + "/" + zoneId + "/" + webpartId; string cacheName = "CMSVirtualWebParts|" + parameters.ToLowerCSafe().TrimStart('/'); CacheHelper.Remove(cacheName); } }