public ActionResult Footer() { string taxInfo = (_services.WorkContext.GetTaxDisplayTypeFor(_services.WorkContext.CurrentCustomer, _services.StoreContext.CurrentStore.Id) == TaxDisplayType.IncludingTax) ? T("Tax.InclVAT") : T("Tax.ExclVAT"); string shippingInfoLink = Url.RouteUrl("Topic", new { SystemName = "shippinginfo" }); var store = _services.StoreContext.CurrentStore; var availableStoreThemes = !_themeSettings.AllowCustomerToSelectTheme ? new List<StoreThemeModel>() : _themeRegistry.Value.GetThemeManifests() .Where(x => !x.MobileTheme) .Select(x => { return new StoreThemeModel() { Name = x.ThemeName, Title = x.ThemeTitle }; }) .ToList(); var model = new FooterModel { StoreName = store.Name, LegalInfo = T("Tax.LegalInfoFooter", taxInfo, shippingInfoLink), ShowLegalInfo = _taxSettings.ShowLegalHintsInFooter, ShowThemeSelector = availableStoreThemes.Count > 1, BlogEnabled = _blogSettings.Enabled, ForumEnabled = _forumSettings.ForumsEnabled, HideNewsletterBlock = _customerSettings.HideNewsletterBlock, }; var hint = _services.Settings.GetSettingByKey<string>("Rnd_SmCopyrightHint", string.Empty, store.Id); if (hint.IsEmpty()) { hint = s_hints[new Random().Next(s_hints.Length)]; _services.Settings.SetSetting<string>("Rnd_SmCopyrightHint", hint, store.Id); } var topics = new string[] { "paymentinfo", "imprint", "disclaimer" }; foreach (var t in topics) { //load by store var topic = _topicService.GetTopicBySystemName(t, store.Id); if (topic == null) //not found. let's find topic assigned to all stores topic = _topicService.GetTopicBySystemName(t, 0); if (topic != null) { model.Topics.Add(t, topic.Title); } } var socialSettings = EngineContext.Current.Resolve<SocialSettings>(); model.ShowSocialLinks = socialSettings.ShowSocialLinksInFooter; model.FacebookLink = socialSettings.FacebookLink; model.GooglePlusLink = socialSettings.GooglePlusLink; model.TwitterLink = socialSettings.TwitterLink; model.PinterestLink = socialSettings.PinterestLink; model.YoutubeLink = socialSettings.YoutubeLink; model.SmartStoreHint = "<a href='http://www.smartstore.com/net' class='sm-hint' target='_blank'><strong>{0}</strong></a> by SmartStore AG © {1}".FormatCurrent(hint, DateTime.Now.Year); return PartialView(model); }
public ActionResult Footer() { var store = _services.StoreContext.CurrentStore; var allTopics = _topicService.GetAllTopics(store.Id); var taxDisplayType = _services.WorkContext.GetTaxDisplayTypeFor(_services.WorkContext.CurrentCustomer, store.Id); var taxInfo = T(taxDisplayType == TaxDisplayType.IncludingTax ? "Tax.InclVAT" : "Tax.ExclVAT"); var availableStoreThemes = !_themeSettings.AllowCustomerToSelectTheme ? new List<StoreThemeModel>() : _themeRegistry.Value.GetThemeManifests() .Where(x => !x.MobileTheme) .Select(x => { return new StoreThemeModel() { Name = x.ThemeName, Title = x.ThemeTitle }; }) .ToList(); var model = new FooterModel { StoreName = store.Name, ShowLegalInfo = _taxSettings.ShowLegalHintsInFooter, ShowThemeSelector = availableStoreThemes.Count > 1, BlogEnabled = _blogSettings.Enabled, ForumEnabled = _forumSettings.ForumsEnabled, HideNewsletterBlock = _customerSettings.HideNewsletterBlock, }; model.TopicPageUrls = allTopics .Where(x => !x.RenderAsWidget) .GroupBy(x => x.SystemName) .ToDictionary(x => x.Key.EmptyNull().ToLower(), x => { if (x.Key.IsCaseInsensitiveEqual("contactus")) return Url.RouteUrl("ContactUs"); return Url.RouteUrl("Topic", new { SystemName = x.Key }); }); if (model.TopicPageUrls.ContainsKey("shippinginfo")) { model.LegalInfo = T("Tax.LegalInfoFooter", taxInfo, model.TopicPageUrls["shippinginfo"]); } else { model.LegalInfo = T("Tax.LegalInfoFooter2", taxInfo); } var hint = _services.Settings.GetSettingByKey<string>("Rnd_SmCopyrightHint", string.Empty, store.Id); if (hint.IsEmpty()) { hint = s_hints[new Random().Next(s_hints.Length)]; _services.Settings.SetSetting<string>("Rnd_SmCopyrightHint", hint, store.Id); } model.ShowSocialLinks = _socialSettings.Value.ShowSocialLinksInFooter; model.FacebookLink = _socialSettings.Value.FacebookLink; model.GooglePlusLink = _socialSettings.Value.GooglePlusLink; model.TwitterLink = _socialSettings.Value.TwitterLink; model.PinterestLink = _socialSettings.Value.PinterestLink; model.YoutubeLink = _socialSettings.Value.YoutubeLink; model.SmartStoreHint = "<a href='http://www.smartstore.com/net' class='sm-hint' target='_blank'><strong>{0}</strong></a> by SmartStore AG © {1}" .FormatCurrent(hint, DateTime.Now.Year); return PartialView(model); }