private IEnumerable<PageData> GetFooterMenuContent(HomePage settings) { if (settings.FooterMenuFolder != null) { return _contentLoader.GetChildren<PageData>(settings.FooterMenuFolder).FilterForDisplay<PageData>(true, true); } else { return new List<PageData>(); } }
protected virtual Chrome PopulateChrome(HomePage homePage, SettingsBlock settings) { var chrome = new Chrome(); chrome.TopLeftMenu = homePage.TopLeftMenu; chrome.TopRightMenu = homePage.TopRightMenu; chrome.FooterMenu = GetFooterMenuContent(homePage); chrome.SocialMediaIcons = homePage.SocialMediaIcons; chrome.LoginPage = settings.LoginPage; chrome.AccountPage = settings.AccountPage; chrome.CheckoutPage = settings.CheckoutPage; chrome.SearchPage = settings.SearchPage; if (homePage.LogoImage != null) { chrome.LogoImageUrl = _urlResolver.GetUrl(homePage.LogoImage); } else { chrome.LogoImageUrl = new Url("/Content/Images/commerce-shop-logo.png"); } chrome.HomePageUrl = _urlResolver.GetUrl(homePage.ContentLink); // Note! The natural place for the footer content is in the settings block // with the rest of the content, but that makes it impossible to edit the // content area on the page. So we keep it directly on the start page. chrome.GlobalFooterContent = homePage.GlobalFooterContent; // Set up languages for Chrome var contentLoader = ServiceLocator.Current.GetInstance<IContentLoader>(); var startPage = contentLoader.Get<HomePage>(ContentReference.StartPage); chrome.Language = startPage.LanguageBranch; chrome.Languages = GetLanguageInfo(startPage); chrome.ColorScheme = settings.Scheme; return chrome; }