/** * Returns the context item for the frontend * * @return \Aimeos\MShop\Context\Item\Iface Context item */ protected function getContext() { $config = Base::getConfig((array) $this->settings); if (!isset(self::$context)) { $context = Base::getContext($config); $locale = Base::getLocale($context, $this->request); $context->setI18n(Base::getI18n(array($locale->getLanguageId()), $config->get('i18n', array()))); $context->setLocale($locale); self::$context = $context; } // Use plugin specific configuration self::$context->setConfig($config); $langid = self::$context->getLocale()->getLanguageId(); $templatePaths = Base::getAimeos()->getCustomPaths('client/html/templates'); self::$context->setView(Base::getView($config, $this->uriBuilder, $templatePaths, $this->request, $langid)); return self::$context; }
/** * 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; }