Fix multihost processed image not copied to non-default content languages

Fixes #12163
This commit is contained in:
Bjørn Erik Pedersen
2024-02-27 09:15:47 +01:00
parent 218690328c
commit 6bc0d745a5
2 changed files with 56 additions and 1 deletions

View File

@@ -39,7 +39,16 @@ func (c *ImageCache) getOrCreate(
) (*resourceAdapter, error) {
relTarget := parent.relTargetPathFromConfig(conf)
relTargetPath := relTarget.TargetPath()
memKey := dynacache.CleanKey(relTargetPath)
memKey := relTargetPath
// For multihost sites, we duplicate language versions of the same resource,
// so we need to include the language in the key.
// Note that we don't need to include the language in the file cache key,
// as the hash will take care of any different content.
if c.pathSpec.Cfg.IsMultihost() {
memKey = c.pathSpec.Lang() + memKey
}
memKey = dynacache.CleanKey(memKey)
v, err := c.mcache.GetOrCreate(memKey, func(key string) (*resourceAdapter, error) {
var img *imageResource