Пример #1
0
        public async Task <ActionResult> GetThemeAssets(string path)
        {
            var stream = await _themeEngine.GetAssetStreamAsync(path);

            return(stream != null
                ? File(stream, MimeTypes.GetMimeType(path))
                : HandleStaticFiles(path));
        }
Пример #2
0
        private async Task <Stream> TryGetSitemapStream(string filePath)
        {
            //If sitemap files have big size for generation on the fly you might place already generated xml files in the theme/assets folder or schedule
            // execution of GenerateSitemapJob.GenerateStoreSitemap method for pre-generation sitemaps
            var stream = await _liquidThemeEngine.GetAssetStreamAsync(filePath);

            if (stream == null)
            {
                var absUrl   = UrlBuilder.ToAppAbsolute("~/", WorkContext.CurrentStore, WorkContext.CurrentLanguage);
                var storeUrl = new Uri(WorkContext.RequestUrl, absUrl).ToString();
                //remove language from base url SitemapAPI will add it automatically
                storeUrl = storeUrl.Replace("/" + WorkContext.CurrentLanguage.CultureName + "/", "/");
                stream   = await _siteMapApi.GenerateSitemapAsync(WorkContext.CurrentStore.Id, storeUrl, filePath);
            }
            return(stream);
        }