Beispiel #1
0
 public function testFromArray()
 {
     $item = new \Aimeos\MShop\Locale\Item\Standard();
     $list = array('locale.id' => 1, 'locale.siteid' => 2, 'locale.languageid' => 'de', 'locale.currencyid' => 'EUR', 'locale.position' => 10, 'locale.status' => 0);
     $unknown = $item->fromArray($list);
     $this->assertEquals(array(), $unknown);
     $this->assertEquals($list['locale.id'], $item->getId());
     $this->assertEquals($list['locale.siteid'], $item->getSiteId());
     $this->assertEquals($list['locale.languageid'], $item->getLanguageId());
     $this->assertEquals($list['locale.currencyid'], $item->getCurrencyId());
     $this->assertEquals($list['locale.position'], $item->getPosition());
     $this->assertEquals($list['locale.status'], $item->getStatus());
 }
Beispiel #2
0
 /**
  * Creates a new locale object and adds this object to the context.
  *
  * @param string $site Site code
  * @param string|null $langid Two letter ISO code for language
  * @param string|null $currencyid Three letter ISO code for currency
  */
 protected function setLocale($site, $langid = null, $currencyid = null)
 {
     $siteManager = \Aimeos\MShop\Locale\Manager\Factory::createManager($this->context)->getSubManager('site');
     $search = $siteManager->createSearch();
     $search->setConditions($search->compare('==', 'locale.site.code', $site));
     $sites = $siteManager->searchItems($search);
     if (($siteItem = reset($sites)) === false) {
         throw new \Aimeos\Controller\ExtJS\Exception(sprintf('Site item for code "%1$s" not found', $site));
     }
     $values = array('siteid' => $siteItem->getId());
     $sitepath = array_keys($siteManager->getPath($siteItem->getId()));
     $sitetree = $this->getSiteIdsFromTree($siteManager->getTree($siteItem->getId()));
     $localeItem = new \Aimeos\MShop\Locale\Item\Standard($values, $siteItem, $sitepath, $sitetree);
     $localeItem->setLanguageId($langid);
     $localeItem->setCurrencyId($currencyid);
     $this->context->setLocale($localeItem);
 }
Beispiel #3
0
 /**
  * Creates a new locale object and adds this object to the context.
  *
  * @param string $site Site code
  */
 protected function setLocale($site)
 {
     $context = $this->getContext();
     $locale = $context->getLocale();
     $siteItem = null;
     $siteManager = \Aimeos\MShop\Locale\Manager\Factory::createManager($context)->getSubManager('site');
     if ($site != '') {
         $search = $siteManager->createSearch();
         $search->setConditions($search->compare('==', 'locale.site.code', $site));
         $sites = $siteManager->searchItems($search);
         if (($siteItem = reset($sites)) === false) {
             throw new \Aimeos\Controller\ExtJS\Exception('Site item not found.');
         }
     }
     $localeItem = new \Aimeos\MShop\Locale\Item\Standard(array(), $siteItem);
     $localeItem->setLanguageId($locale->getLanguageId());
     $localeItem->setCurrencyId($locale->getCurrencyId());
     if ($siteItem !== null) {
         $localeItem->setSiteId($siteItem->getId());
     }
     $context->setLocale($localeItem);
 }