コード例 #1
0
        public void UpdateTitle(Sxc.Blocks.IBlockBuilder blockBuilder, IEntity titleItem)
        {
            Log.Add("update title");

            var languages = blockBuilder.Environment.ZoneMapper.CulturesWithState(blockBuilder.Container.TenantId,
                                                                                  blockBuilder.Block.ZoneId); // not nullable any more 2019-11-09 // .Value);

            // Find Module for default language
            var moduleController = new ModuleController();
            var originalModule   = moduleController.GetModule(blockBuilder.Container.Id);

            foreach (var dimension in languages)
            {
                if (!originalModule.IsDefaultLanguage)
                {
                    originalModule = originalModule.DefaultLanguageModule;
                }

                try // this can sometimes fail, like if the first item is null - https://github.com/2sic/2sxc/issues/817
                {
                    // Break if default language module is null
                    if (originalModule == null)
                    {
                        return;
                    }

                    // Get Title value of Entitiy in current language
                    var titleValue = titleItem.Title[dimension.Key].ToString();

                    // Find module for given Culture
                    var moduleByCulture = moduleController.GetModuleByCulture(originalModule.ModuleID,
                                                                              originalModule.TabID, blockBuilder.Container.TenantId,
                                                                              DotNetNuke.Services.Localization.LocaleController.Instance.GetLocale(dimension.Key));

                    // Break if no title module found
                    if (moduleByCulture == null || titleValue == null)
                    {
                        return;
                    }

                    moduleByCulture.ModuleTitle = titleValue;
                    moduleController.UpdateModule(moduleByCulture);
                }
                catch
                {
                    // ignored
                }
            }
        }
コード例 #2
0
        public ClientInfosEnvironment(string systemRootUrl, PortalSettings ps, IContainer mic, Sxc.Blocks.IBlockBuilder blockBuilder)
        {
            WebsiteId = ps.PortalId;

            WebsiteUrl = "//" + ps.PortalAlias.HTTPAlias + "/";

            PageId  = mic.PageId;
            PageUrl = ps.ActiveTab.FullUrl;

            InstanceId = mic.Id;

            SxcVersion = Settings.Version.ToString();

            SxcRootUrl = systemRootUrl;

            var userMayEdit = blockBuilder?.UserMayEdit ?? false;

            IsEditable = userMayEdit;
            parameters = blockBuilder?.Parameters;
        }