Ejemplo n.º 1
0
 /**
  * Update/create store (frontname: "Store View").
  *
  * @param int $storeId ID to update existing store or 'null' to create new one
  * @param string $name
  * @param string $code
  * @param int $websiteId
  * @param int $groupId (frontname: "Store")
  * @param int $sortOrder
  * @param bool $isActive
  * @return \Magento\Store\Model\Store
  */
 private function saveStore($storeId = null, $isActive = false, $name = null, $code = null, $websiteId = null, $groupId = null, $sortOrder = null)
 {
     $event = 'store_add';
     /** @var \Magento\Store\Model\Store $store */
     $store = $this->_manObj->create(\Magento\Store\Model\Store::class);
     $store->load($storeId);
     /* 'code' is required attr. and should be set for existing store */
     $event = is_null($store->getCode()) ? 'store_add' : 'store_edit';
     $store->setIsActive($isActive);
     if (!is_null($name)) {
         $store->setName($name);
     }
     if (!is_null($code)) {
         $store->setCode($code);
     }
     if (!is_null($websiteId)) {
         $store->setWebsiteId($websiteId);
     }
     if (!is_null($websiteId)) {
         $store->setGroupId($groupId);
     }
     if (!is_null($sortOrder)) {
         $store->setSortOrder($sortOrder);
     }
     $store->save();
     /** @var  \Magento\Store\Model\StoreManager */
     $this->manStore->reinitStores();
     /** @var  \Magento\Framework\Event\ManagerInterface */
     $this->manEvent->dispatch($event, ['store' => $store]);
     return $store;
 }
Ejemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 public function reinitStores()
 {
     $this->decoratedStoreManager->reinitStores();
     $this->dispatchInitCurrentStoreAfterEvent();
 }