magento2 - Programmatically change 'is_active' of category in Magento 2 -


how can programmatically change value of 'is_active' in magento 2? have tried far (in observer) is:

class observer implements observerinterface {        /**      * @var \magento\catalog\model\resourcemodel\category\collectionfactory      */     protected $_categorycollectionfactory;      /**      * @var \magento\catalog\api\categoryrepositoryinterface      */     protected $_repository;      public function __construct(             \magento\catalog\model\resourcemodel\category\collectionfactory $categorycollectionfactory,             \magento\catalog\api\categoryrepositoryinterface $repository     ) {         $this->_categorycollectionfactory = $categorycollectionfactory;         $this->_repository = $repository;     }      /**      * @param eventobserver $observer      * @return void      */     public function execute(eventobserver $observer)     {         $categorycollection = $this->_categorycollectionfactory->create();         $categorycollection->addattributetoselect('*');         $categorycollection->addattributetofilter('name', array('eq' => 'test'));         $currentcategory = $categorycollection->getfirstitem();          $currentcategory->setisactive(true);         $this->_repository->save($currentcategory);     } } 

the 'is_active' value not changing. seems values can changed magical set functions values of table catalog_category_entity.

is_active managed @ store level

make sure change store id 0 admin level , value have saved store level , can confirm changing store view drop down in admin page category edit.

try following save in admin level

 public function execute(eventobserver $observer)     {         $categorycollection = $this->_categorycollectionfactory->create();         $categorycollection->addattributetoselect('*');         $categorycollection->addattributetofilter('name', array('eq' => 'test'));         $currentcategory = $categorycollection->getfirstitem();         $currentcategory->setstoreid(0);         $currentcategory->setisactive(true);         $this->_repository->save($currentcategory);     } 

Comments

Popular posts from this blog

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project.Error occurred in starting fork -

windows - Debug iNetMgr.exe unhandle exception System.Management.Automation.CmdletInvocationException -

configurationsection - activeMq-5.13.3 setup configurations for wildfly 10.0.0 -