fix #4349 - adding module in subsite in Interactive render mode

This commit is contained in:
sbwalker 2024-06-24 16:26:55 -04:00
parent af62a89a6b
commit 73abc511a8
2 changed files with 8 additions and 5 deletions

View File

@ -213,7 +213,7 @@
return; return;
} }
if (PageState == null || refresh || PageState.Page.Path != route.PagePath) if (refresh || PageState == null || PageState.Page.Path != route.PagePath)
{ {
page = site.Pages.FirstOrDefault(item => item.Path.Equals(route.PagePath, StringComparison.OrdinalIgnoreCase)); page = site.Pages.FirstOrDefault(item => item.Path.Equals(route.PagePath, StringComparison.OrdinalIgnoreCase));
} }
@ -275,7 +275,7 @@
} }
// get modules for current page // get modules for current page
if (PageState.Modules == null || (PageState.Modules.Any() && PageState.Modules.First().PageId != page.PageId)) if (refresh || PageState.Modules == null || !PageState.Modules.Any() || PageState.Modules.First().PageId != page.PageId)
{ {
modules = await SiteService.GetModulesAsync(site.SiteId, page.PageId); modules = await SiteService.GetModulesAsync(site.SiteId, page.PageId);
} }

View File

@ -62,7 +62,8 @@ namespace Oqtane.Services
public async Task<Site> GetSiteAsync(int siteId) public async Task<Site> GetSiteAsync(int siteId)
{ {
var site = await _cache.GetOrCreateAsync($"site:{_accessor.HttpContext.GetAlias().SiteKey}", async entry => var alias = _tenantManager.GetAlias();
var site = await _cache.GetOrCreateAsync($"site:{alias.SiteKey}", async entry =>
{ {
entry.SlidingExpiration = TimeSpan.FromMinutes(30); entry.SlidingExpiration = TimeSpan.FromMinutes(30);
return await GetSite(siteId); return await GetSite(siteId);
@ -240,7 +241,8 @@ namespace Oqtane.Services
public async Task<List<Module>> GetModulesAsync(int siteId, int pageId) public async Task<List<Module>> GetModulesAsync(int siteId, int pageId)
{ {
var sitemodules = await _cache.GetOrCreateAsync($"modules:{_accessor.HttpContext.GetAlias().SiteKey}", async entry => var alias = _tenantManager.GetAlias();
var sitemodules = await _cache.GetOrCreateAsync($"modules:{alias.SiteKey}", async entry =>
{ {
entry.SlidingExpiration = TimeSpan.FromMinutes(30); entry.SlidingExpiration = TimeSpan.FromMinutes(30);
return await GetModulesAsync(siteId); return await GetModulesAsync(siteId);
@ -259,7 +261,8 @@ namespace Oqtane.Services
public async Task<List<Module>> GetModulesAsync(int siteId) public async Task<List<Module>> GetModulesAsync(int siteId)
{ {
return await _cache.GetOrCreateAsync($"modules:{_accessor.HttpContext.GetAlias().SiteKey}", async entry => var alias = _tenantManager.GetAlias();
return await _cache.GetOrCreateAsync($"modules:{alias.SiteKey}", async entry =>
{ {
entry.SlidingExpiration = TimeSpan.FromMinutes(30); entry.SlidingExpiration = TimeSpan.FromMinutes(30);
return await GetModules(siteId); return await GetModules(siteId);