Separate widget cache by lang type

This commit is contained in:
Kijin Sung 2025-03-27 11:02:46 +09:00
parent efaeda640d
commit b4098ce804

View file

@ -397,7 +397,8 @@ class WidgetController extends Widget
} }
// If cached data exists, return it. // If cached data exists, return it.
$cache_data = Rhymix\Framework\Cache::get('widget_cache:' . $widget_sequence); $cache_key = 'widget_cache:' . $widget_sequence . ':' . $lang_type;
$cache_data = Rhymix\Framework\Cache::get($cache_key);
if (is_object($cache_data) && isset($cache_data->assets)) if (is_object($cache_data) && isset($cache_data->assets))
{ {
foreach ($cache_data->assets as $asset) foreach ($cache_data->assets as $asset)
@ -422,7 +423,7 @@ class WidgetController extends Widget
$cache_data = new stdClass; $cache_data = new stdClass;
$cache_data->assets = $oFrontEndFileHandler->endLog(); $cache_data->assets = $oFrontEndFileHandler->endLog();
$cache_data->content = $widget_content; $cache_data->content = $widget_content;
Rhymix\Framework\Cache::set('widget_cache:' . $widget_sequence, $cache_data, $widget_cache, true); Rhymix\Framework\Cache::set($cache_key, $cache_data, $widget_cache, true);
return Context::replaceUserLang($widget_content); return Context::replaceUserLang($widget_content);
} }
@ -805,10 +806,14 @@ class WidgetController extends Widget
if($vars->widget_sequence) if($vars->widget_sequence)
{ {
Rhymix\Framework\Cache::delete('widget_cache:' . $vars->widget_sequence); $lang_type = Context::getLangType();
Rhymix\Framework\Cache::delete('widget_cache:' . $vars->widget_sequence . ':' . $lang_type);
} }
if($vars->widget_cache>0) $vars->widget_sequence = getNextSequence(); if($vars->widget_cache > 0)
{
$vars->widget_sequence = getNextSequence();
}
$attribute = array(); $attribute = array();
foreach($vars as $key => $val) foreach($vars as $key => $val)