/** * Returns the locale object for the context * * @param \Aimeos\MShop\Context\Item\Iface $context Context object * @return \Aimeos\MShop\Locale\Item\Iface Locale item object */ protected function getLocale(\Aimeos\MShop\Context\Item\Iface $context) { if (!isset(self::$locale)) { $session = $context->getSession(); $config = $context->getConfig(); $sitecode = $config->get('mshop/locale/site', 'default'); $name = $config->get('typo3/param/name/site', 'loc-site'); if ($this->request->hasArgument($name) === true) { $sitecode = $this->request->getArgument($name); } $langid = $config->get('mshop/locale/language', ''); $name = $config->get('typo3/param/name/language', 'loc-language'); if (isset($GLOBALS['TSFE']->config['config']['language'])) { $langid = $GLOBALS['TSFE']->config['config']['language']; } if ($this->request->hasArgument($name) === true) { $langid = $this->request->getArgument($name); } $currency = $config->get('mshop/locale/currency', ''); $name = $config->get('typo3/param/name/currency', 'loc-currency'); if ($this->request->hasArgument($name) === true) { $currency = $this->request->getArgument($name); } $localeManager = \Aimeos\MShop\Locale\Manager\Factory::createManager($context); self::$locale = $localeManager->bootstrap($sitecode, $langid, $currency); } return self::$locale; }