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;
        }