Esempio n. 1
0
 /**
  * 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;
 }