Esempio n. 1
0
        public IEnumerable <ISitecoreItem> BuildTemplates()
        {
            var templateData = new List <ISitecoreItem>();

            var builder = new TemplateBuilder();

            builder.CreateTemplate("ProductCategoryTemplate", FieldIds.Category.ProductCategoryTemplateId, "Product Category Template", TemplateIDs.StandardTemplate);

            BuildCommonSection(builder, 100);
            BuildMediaSection(builder, 200);

            var template = builder.Build();

            template.AddToFieldList(FieldIDs.Icon, SitecoreConstants.UCommerceIconFolder + "/ui/map.png");
            template.AddToFieldList(FieldIDs.Revision, Guid.NewGuid().ToString());
            templateData.Add(template);

            var categoryDefinitionType = DefinitionType.Get(1);

            var repository  = ObjectFactory.Instance.Resolve <IRepository <Definition> >();
            var definitions = repository.Select(x => x.DefinitionType == categoryDefinitionType).ToList();

            foreach (var definition in definitions)
            {
                var definitionTemplate = _dynamicCategoryTemplate.BuildCategoryTemplateFromDefinition(definition);
                definitionTemplate.SetRevision(definition.Guid.Derived(definition.ModifiedOn));
                templateData.Add(definitionTemplate);
            }

            return(templateData);
        }
        private static Definition GetDefaultDefinition()
        {
            var definition = Definition.SingleOrDefault(d => d.Name == "Default Category Definition");

            if (definition == null)
            {
                definition = new Definition {
                    Name = "Default Category Definition", DefinitionType = DefinitionType.Get(1), Deleted = false, Guid = Guid.NewGuid(), SortOrder = 1, Description = "Default Category Definition"
                }
            }
            ;
            definition.Save();
            return(definition);
        }
Esempio n. 3
0
        public PipelineExecutionResult Execute(InstallationPipelineArgs subject)
        {
            var sharedFieldRepository = ObjectFactory.Instance.Resolve <IRepository <SharedField> >();
            var sharedFieldsToSave    = new List <SharedField>();
            var productDefinitions    = ProductDefinition.All().ToList();
            var categoryDefinitions   = Definition.All().Where(x => x.DefinitionType == DefinitionType.Get(1)).ToList();

            foreach (var productDefinition in productDefinitions)
            {
                sharedFieldsToSave.Add(new SharedField()
                {
                    FieldValue = GetXmlLayoutValueForProduct(),
                    FieldId    = FieldIDs.LayoutField.Guid,
                    ItemId     = productDefinition.Guid.Derived("__Standard Values") // This must be set on the Standard Values item. Not the template item directly.
                });
            }

            foreach (var categoryDefinition in categoryDefinitions)
            {
                sharedFieldsToSave.Add(new SharedField()
                {
                    FieldValue = GetXmlLayoutValueForCategory(),
                    FieldId    = FieldIDs.LayoutField.Guid,
                    ItemId     = categoryDefinition.Guid.Derived("__Standard Values") // This must be set on the Standard Values item. Not the template item directly.
                });
            }

            sharedFieldRepository.Save(sharedFieldsToSave);

            return(PipelineExecutionResult.Success);
        }