当前位置: 首页>>代码示例>>PHP>>正文


PHP StoreManagerInterface::reinitStores方法代码示例

本文整理汇总了PHP中Magento\Framework\StoreManagerInterface::reinitStores方法的典型用法代码示例。如果您正苦于以下问题:PHP StoreManagerInterface::reinitStores方法的具体用法?PHP StoreManagerInterface::reinitStores怎么用?PHP StoreManagerInterface::reinitStores使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Magento\Framework\StoreManagerInterface的用法示例。


在下文中一共展示了StoreManagerInterface::reinitStores方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: save

 /**
  * Save config section
  * Require set: section, website, store and groups
  *
  * @throws \Exception
  * @return $this
  */
 public function save()
 {
     $this->initScope();
     $sectionId = $this->getSection();
     $groups = $this->getGroups();
     if (empty($groups)) {
         return $this;
     }
     $oldConfig = $this->_getConfig(true);
     $deleteTransaction = $this->_transactionFactory->create();
     /* @var $deleteTransaction \Magento\Framework\DB\Transaction */
     $saveTransaction = $this->_transactionFactory->create();
     /* @var $saveTransaction \Magento\Framework\DB\Transaction */
     // Extends for old config data
     $extraOldGroups = array();
     foreach ($groups as $groupId => $groupData) {
         $this->_processGroup($groupId, $groupData, $groups, $sectionId, $extraOldGroups, $oldConfig, $saveTransaction, $deleteTransaction);
     }
     try {
         $deleteTransaction->delete();
         $saveTransaction->save();
         // re-init configuration
         $this->_appConfig->reinit();
         $this->_storeManager->reinitStores();
         // website and store codes can be used in event implementation, so set them as well
         $this->_eventManager->dispatch("admin_system_config_changed_section_{$this->getSection()}", array('website' => $this->getWebsite(), 'store' => $this->getStore()));
     } catch (\Exception $e) {
         // re-init configuration
         $this->_appConfig->reinit();
         $this->_storeManager->reinitStores();
         throw $e;
     }
     return $this;
 }
开发者ID:pavelnovitsky,项目名称:magento2,代码行数:41,代码来源:Config.php

示例2: _reinitStores

 /**
  * Initialize currently ran store
  *
  * @param \Magento\Framework\StoreManagerInterface $storage
  * @param array $arguments
  * @return void
  * @throws \Magento\Framework\App\InitException
  */
 protected function _reinitStores(\Magento\Framework\StoreManagerInterface $storage, $arguments)
 {
     Profiler::start('init_stores');
     $storage->reinitStores();
     Profiler::stop('init_stores');
     $scopeCode = $arguments['scopeCode'];
     $scopeType = $arguments['scopeType'] ?: ScopeInterface::SCOPE_STORE;
     if (empty($scopeCode) && false == is_null($storage->getWebsite(true))) {
         $scopeCode = $storage->getWebsite(true)->getCode();
         $scopeType = ScopeInterface::SCOPE_WEBSITE;
     }
     switch ($scopeType) {
         case ScopeInterface::SCOPE_STORE:
             $storage->setCurrentStore($scopeCode);
             break;
         case ScopeInterface::SCOPE_GROUP:
             $storage->setCurrentStore($this->_getStoreByGroup($storage, $scopeCode));
             break;
         case ScopeInterface::SCOPE_WEBSITE:
             $storage->setCurrentStore($this->_getStoreByWebsite($storage, $scopeCode));
             break;
         default:
             throw new \Magento\Framework\App\InitException('Store Manager has not been initialized properly');
     }
     $currentStore = $storage->getStore()->getCode();
     if (!empty($currentStore)) {
         $this->_checkCookieStore($storage, $scopeType);
         $this->_checkRequestStore($storage, $scopeType);
     }
 }
开发者ID:pavelnovitsky,项目名称:magento2,代码行数:38,代码来源:StorageFactory.php

示例3: setCurrencySymbolsData

 /**
  * Saves currency symbol to config
  *
  * @param  $symbols array
  * @return $this
  */
 public function setCurrencySymbolsData($symbols = array())
 {
     foreach ($this->getCurrencySymbolsData() as $code => $values) {
         if (isset($symbols[$code])) {
             if ($symbols[$code] == $values['parentSymbol'] || empty($symbols[$code])) {
                 unset($symbols[$code]);
             }
         }
     }
     if ($symbols) {
         $value['options']['fields']['customsymbol']['value'] = serialize($symbols);
     } else {
         $value['options']['fields']['customsymbol']['inherit'] = 1;
     }
     $this->_configFactory->create()->setSection(self::CONFIG_SECTION)->setWebsite(null)->setStore(null)->setGroups($value)->save();
     $this->_eventManager->dispatch('admin_system_config_changed_section_currency_before_reinit', array('website' => $this->_websiteId, 'store' => $this->_storeId));
     // reinit configuration
     $this->_coreConfig->reinit();
     $this->_storeManager->reinitStores();
     $this->clearCache();
     $this->_eventManager->dispatch('admin_system_config_changed_section_currency', array('website' => $this->_websiteId, 'store' => $this->_storeId));
     return $this;
 }
开发者ID:pavelnovitsky,项目名称:magento2,代码行数:29,代码来源:Currencysymbol.php


注:本文中的Magento\Framework\StoreManagerInterface::reinitStores方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。