/** * @magentoDataFixture Magento/Store/_files/core_fixturestore.php * @magentoAppIsolation enabled * @magentoConfigFixture current_store catalog/frontend/flat_catalog_product 1 */ public function testSetStoreIdWithNonNumericValue() { /** @var $store \Magento\Store\Model\Store */ $store = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Store\\Model\\Store'); $store->load('fixturestore'); $this->assertNotEquals($this->_model->getStoreId(), $store->getId()); $this->_model->setStoreId('fixturestore'); $this->assertEquals($this->_model->getStoreId(), $store->getId()); }
/** * {@inheritdoc} */ public function afterSave() { if ($this->getScope() == 'stores') { $rootId = $this->getValue(); $storeId = $this->getScopeId(); $tree = $this->_catalogCategory->getTreeModel(); // Create copy of categories attributes for choosed store $tree->load(); $root = $tree->getNodeById($rootId); // Save root $this->_catalogCategory->setStoreId(0)->load($root->getId()); $this->_catalogCategory->setStoreId($storeId)->save(); foreach ($root->getAllChildNodes() as $node) { $this->_catalogCategory->setStoreId(0)->load($node->getId()); $this->_catalogCategory->setStoreId($storeId)->save(); } } return parent::afterSave(); }
/** * {@inheritdoc} */ public function setStoreId($storeId) { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'setStoreId'); if (!$pluginInfo) { return parent::setStoreId($storeId); } else { return $this->___callPlugins('setStoreId', func_get_args(), $pluginInfo); } }