public TemplateItem BuildCategoryTemplateFromDefinition(IDefinition definition) { var builder = new TemplateBuilder(); var userService = ObjectFactory.Instance.Resolve <IUserService>(); var cultureInfo = userService.GetCurrentUserCulture(); var resourceManager = ObjectFactory.Instance.Resolve <IResourceManager>(); var sectionName = resourceManager.GetLocalizedText(cultureInfo, "Tabs", "DynamicFields"); var specificDefinition = definition as Definition; ID templateId = definition.SitecoreTemplateId(); builder.CreateTemplate(definition.Name, templateId, definition.Name, definition.GetBaseTemplateIds()); _definitionIdToTemplateIdMap[specificDefinition.DefinitionId] = templateId; var combinedFields = new List <IDefinitionField>(); combinedFields.AddRange(((Definition)definition).DefinitionFields); if (combinedFields.Any()) { ID sectionId = definition.SitecoreDynamicFieldsSectionId(templateId); builder.CreateSection(sectionName, sectionId, 150); int sortOrder = 10; foreach (var definitionField in combinedFields.Where(x => x.RenderInEditor)) { CreateDynamicItemField(builder, definitionField, sortOrder, sectionId); sortOrder += 10; } } var template = builder.Build(); template.AddToFieldList(FieldIDs.Icon, SitecoreConstants.UCommerceIconFolder + "/ui/map.png"); return(template); }
private void BuildListOfProductsField(TemplateBuilder builder, int sortOrder) { var dataSource = string.Format("StartSearchLocation={0}", FieldIds.Product.ProductsRootFolderId); builder.CreateTreeListWithSearchField(FieldIds.Category.ProductsInCategory, "Products", sortOrder, dataSource, new List <KeyValuePair <string, string> >()); }
private void AddPriceGroupSpecificField(TemplateBuilder builder, PriceGroup priceGroup, int sortOrder, ID priceGroupFieldId) { builder.CreateCheckBoxField(priceGroupFieldId, priceGroup.Name, sortOrder); }