protected void ValidateAndSetYearTemplate() { Sitecore.Diagnostics.Assert.IsNotNullOrEmpty( this.YearTemplate, "YearTemplate"); this._yearTemplate = this._database.Templates[this.YearTemplate]; Sitecore.Diagnostics.Assert.IsNotNull(this._yearTemplate, this.YearTemplate); }
protected void ValidateAndSetMonthTemplate() { if (!String.IsNullOrEmpty(this.MonthTemplate)) { this._monthTemplate = this._database.Templates[this.MonthTemplate]; Sitecore.Diagnostics.Assert.IsNotNull( this._monthTemplate, this.MonthTemplate); } }
protected void ValidateAndSetDayTemplate() { if (!String.IsNullOrEmpty(this.DayTemplate)) { this._dayTemplate = this._database.Templates[this.DayTemplate]; Sitecore.Diagnostics.Assert.IsNotNull(this._dayTemplate, this.DayTemplate); } Sitecore.Diagnostics.Assert.IsFalse( this._monthTemplate == null && this._dayTemplate != null, "dayTemplate without monthTemplate"); }
public void OnRemoteEvent(object sender, EventArgs args) { var remoteEventArgs = args as RemoteEventArgs; Log.Info($"Remote event raised: {remoteEventArgs.ItemName}", nameof(RemoteEventHandler)); using (new SecurityDisabler()) { Sitecore.Data.Database masterDB = Sitecore.Configuration.Factory.GetDatabase("master"); Sitecore.Data.Items.Item home = masterDB.GetItem("/sitecore/content/home"); Sitecore.Data.Items.TemplateItem sample = masterDB.Templates[new Sitecore.Data.ID("{76036F5E-CBCE-46D1-AF0A-4143F9B557AA}")]; Sitecore.Data.Items.Item myItem = home.Add(remoteEventArgs.ItemName, sample); } }
// return the ID of the template // and any templates that inherit from that template public static string[] GetSelfAndDerivedTemplates( this SC.Data.Items.TemplateItem template) { SC.Diagnostics.Assert.IsNotNull(template, "template"); List <string> results = new List <string>(); results.Add(template.ID.ToString()); SC.Links.ItemLink[] links = SC.Globals.LinkDatabase.GetReferrers( template); if (links != null) { foreach (SC.Links.ItemLink link in links) { if (link.SourceFieldID != SC.FieldIDs.BaseTemplate) { continue; } if (String.Compare( link.SourceDatabaseName, template.Database.Name, StringComparison.OrdinalIgnoreCase) != 0) { continue; } SC.Data.Items.Item referrer = template.Database.GetItem(link.SourceItemID); if (referrer != null && referrer[SC.FieldIDs.BaseTemplate].Contains(template.ID.ToString())) { results.Add(link.SourceItemID.ToString()); } } // or replace that foreach with something like this if you prefer it... /* * results.AddRange(from link in links * where link.SourceFieldID == SC.FieldIDs.BaseTemplate * where String.Compare(link.SourceDatabaseName, template.Database.Name, StringComparison.OrdinalIgnoreCase) == 0 * let referrer = template.Database.GetItem(link.SourceItemID) * where referrer != null && referrer[SC.FieldIDs.BaseTemplate].Contains(template.ID.ToString()) * select link.SourceItemID.ToString()); */ } return(results.ToArray()); }
public static List <object[]> GetTemplatePropertiesFull(Sitecore.Data.Items.TemplateItem ti) { var ownfields = GetTemplateFieldProperties(ti.OwnFields); var fields = GetTemplateFieldProperties(ti.Fields); var results = new List <object[]>() { new object[] { "Template Property", "Value" }, new object[] { "Name", ti.Name }, new object[] { "Display Name", ti.DisplayName }, new object[] { "Full Name", ti.FullName }, new object[] { "ID", ti.ID.Guid }, new object[] { "Base Templates", ti.BaseTemplates.Select(t => t.Name) }, new object[] { "Standard Values", ti.StandardValues != null ? ti.StandardValues.Paths.FullPath : string.Empty }, new object[] { "Own Fields", ownfields }, new object[] { "Fields", fields }, new object[] { "Template InnerItem", GetItemPropertiesLite(ti.InnerItem) }, }; return(results); }
protected Sitecore.Data.Items.Item GetOrCreateChild( Sitecore.Data.Items.Item parent, string childName, Sitecore.Data.Items.TemplateItem template, int sortOrder) { Sitecore.Data.Items.Item child = parent.Children[childName]; if (child == null) { child = parent.Add(childName, template); using (new Sitecore.Data.Items.EditContext(child)) { child[Sitecore.FieldIDs.Sortorder] = sortOrder.ToString(); } } return(child); }
public void Execute( XElement element, string name, SC.Text.UrlString parameters, string value) { SC.Diagnostics.Assert.ArgumentNotNull(element, "element"); SC.Diagnostics.Assert.ArgumentNotNull(name, "name"); SC.Diagnostics.Assert.ArgumentNotNull(parameters, "parameters"); SC.Diagnostics.Assert.ArgumentNotNull(value, "value"); SC.Diagnostics.Assert.IsNotNull( SC.Context.ContentDatabase, "Sitecore.Context.ContentDatabase"); SC.Shell.Applications.Dialogs.ItemLister.SelectItemOptions options = new SC.Shell.Applications.Dialogs.ItemLister.SelectItemOptions(); if (!String.IsNullOrEmpty(value)) { SC.Data.Items.Item item = Client.ContentDatabase.GetItem(value); if (item != null) { options.SelectedItem = item; } } options.Root = Client.ContentDatabase.GetItem(SC.ItemIDs.WorkflowRoot); SC.Data.Items.TemplateItem workflowCommandTemplate = SC.Context.ContentDatabase.GetTemplate( SC.TemplateIDs.WorkflowCommand); SC.Diagnostics.Assert.IsNotNull(workflowCommandTemplate, "workflowCommandTemplate"); options.IncludeTemplatesForSelection = SC.Shell.Applications.Dialogs.ItemLister.SelectItemOptions.GetTemplateList( workflowCommandTemplate.GetSelfAndDerivedTemplates()); options.Title = "Select Workflow Command"; options.Text = "Select the workflow command to use in this rule."; options.Icon = "Applications/16x16/nav_right_green.png"; SC.Web.UI.Sheer.SheerResponse.ShowModalDialog( options.ToUrlString().ToString(), true); }
private void InitializeBeaconViewRendering() { DisplayItem = Rendering.Item; var linkFieldNameParameter = Rendering.Parameters[MobileFieldNames.BarcodeViewRenderingParameters.LinkFieldName] ?? null; var generalLinkParameter = Rendering.Parameters[MobileFieldNames.BarcodeViewRenderingParameters.GeneralLink] ?? null; BarcodeFormatParameter = Rendering.Parameters[MobileFieldNames.BarcodeViewRenderingParameters.BarcodeFormat] ?? defaultBarcodeFormat; ImageFormatParameter = Rendering.Parameters[MobileFieldNames.BarcodeViewRenderingParameters.ImageFormat] ?? defaultImageFormat; int w = defaultWidthPx; int h = defaultHeightPx; int.TryParse(Rendering.Parameters[MobileFieldNames.BarcodeViewRenderingParameters.WidthPx], out w); int.TryParse(Rendering.Parameters[MobileFieldNames.BarcodeViewRenderingParameters.HeightPx], out h); ZXing.BarcodeFormat barcodeFormat = ZXing.BarcodeFormat.QR_CODE; ImageFormat imageFormat = ImageFormat.Png; barcodeFormat = (ZXing.BarcodeFormat)Enum.Parse(typeof(ZXing.BarcodeFormat), BarcodeFormatParameter.Trim()); switch (ImageFormatParameter.ToLower()) { case "bmp": imageFormat = ImageFormat.Bmp; break; case "emf": imageFormat = ImageFormat.Emf; break; case "gif": imageFormat = ImageFormat.Gif; break; case "icon": imageFormat = ImageFormat.Icon; break; case "jpeg": case "jpg": imageFormat = ImageFormat.Jpeg; break; case "png": imageFormat = ImageFormat.Png; break; case "tiff": imageFormat = ImageFormat.Tiff; break; case "wmf": imageFormat = ImageFormat.Wmf; break; case "svg": break; default: throw new ArgumentException("Image format isn't supported", ImageFormatParameter.ToLower()); } var buttonText = (string)null; var buttonLink = (string)null; var buttonTarget = (string)null; if (!string.IsNullOrEmpty(generalLinkParameter)) { var generalLinkXml = HttpUtility.HtmlDecode(generalLinkParameter); var renderingParameterTemplateField = Rendering.RenderingItem.InnerItem.Fields[MobileFieldNames.ViewRenderingFields.ParametersTemplate]; var renderingParameterTemplateLookupField = new Sitecore.Data.Fields.LookupField(renderingParameterTemplateField); var renderingParameterTemplateItem = new Sitecore.Data.Items.TemplateItem(renderingParameterTemplateLookupField.TargetItem); var standardValuesGeneralLinkField = renderingParameterTemplateItem.StandardValues.Fields[MobileFieldNames.BarcodeViewRenderingParameters.GeneralLink]; var generalLinkField = new Sitecore.Data.Fields.LinkField(standardValuesGeneralLinkField, generalLinkXml); buttonText = generalLinkField.Text; buttonTarget = !string.IsNullOrEmpty(generalLinkField.Target) ? generalLinkField.Target : null; if (!string.IsNullOrEmpty(generalLinkField.Anchor)) { buttonLink = string.Format("#{0}", generalLinkField.Anchor); } else { buttonLink = generalLinkField.Url; } } if (string.IsNullOrEmpty(buttonLink) && !string.IsNullOrEmpty(linkFieldNameParameter) && DisplayItem != null) { var itemField = DisplayItem.Fields[linkFieldNameParameter]; if (itemField == null) { return; } var fieldItem = DisplayItem.Database.GetItem(itemField.ID); if (fieldItem == null) { return; } var linkField = new Sitecore.Data.Fields.LinkField(itemField); if (linkField.TargetItem == null) { EmbeddedBarcodeImage = new HtmlString("Undefined barcode link field target item"); SvgBarcodeImage = new HtmlString("Undefined barcode link field target item"); return; } buttonLink = DisplayItem.GetRoutePathInfo( new Sitecore.Links.UrlOptions() { AlwaysIncludeServerUrl = true }); } if (string.IsNullOrEmpty(buttonLink) && DisplayItem != null) { buttonLink = DisplayItem.GetRoutePathInfo( new Sitecore.Links.UrlOptions() { AlwaysIncludeServerUrl = true }); } if (string.IsNullOrEmpty(buttonLink)) { EmbeddedBarcodeImage = new HtmlString("Missing barcode link"); SvgBarcodeImage = new HtmlString("Missing barcode link"); return; } BarcodeModel = new BarcodeModel(buttonLink, imageFormat, barcodeFormat, w, h); System.Web.Mvc.TagBuilder tagBuilder = new System.Web.Mvc.TagBuilder("img"); // tagBuilder.MergeAttributes<string, object>(tagParameters); string base64ImageString = string.Concat("data:", GetMimeType(imageFormat), ";base64,", Convert.ToBase64String(BarcodeModel.BarcodeImageEncoded)); tagBuilder.Attributes.Add(new KeyValuePair <string, string>("src", base64ImageString)); EmbeddedBarcodeImage = new HtmlString(tagBuilder.ToString()); SvgBarcodeImage = new HtmlString(BarcodeModel.BarcodeImageSvg); }
// return the item or its nearest ancestor that uses a data template // or a template that inherits from that template public static SC.Data.Items.Item GetAncestorWithTemplateThatIsOrInheritsFrom( this SC.Data.Items.Item item, SC.Data.Items.TemplateItem template) { return(GetAncestorWithTemplateThatIsOrInheritsFrom(item, template.ID)); }