design = $design; $this->filesystem = $filesystem; } /** * @param string $fileId * @param array $params * @return array */ public function getMap($fileId, array $params) { $area = $params['area']; $locale = $params['locale']; $themePath = isset($params['theme']) ? $params['theme'] : $this->design->getThemePath($params['themeModel']); $path = "$area/$themePath/$locale/" . self::MAP_NAME; if (!isset($this->maps[$path])) { $this->maps[$path] = []; /** @var Filesystem $filesystem */ $staticDir = $this->filesystem->getDirectoryRead(DirectoryList::STATIC_VIEW); if ($staticDir->isFile($path)) { $map = $staticDir->readFile($path); if ($map) { $this->maps[$path] = json_decode($map, true); } } } if (isset($this->maps[$path][$fileId])) { return $this->maps[$path][$fileId]; } return []; } }