Example #1
0
 /**
  * Delete children categories of specific category
  *
  * @param \Magento\Framework\DataObject $object
  * @return $this
  */
 public function deleteChildren(\Magento\Framework\DataObject $object)
 {
     if ($object->getSkipDeleteChildren()) {
         return $this;
     }
     $categories = $this->_categoryCollectionFactory->create();
     $categories->addAttributeToFilter('path', ['like' => $object->getPath() . '/%']);
     $childrenIds = $categories->getAllIds();
     foreach ($categories as $category) {
         $category->setSkipDeleteChildren(true);
         $category->delete();
     }
     /**
      * Add deleted children ids to object
      * This data can be used in after delete event
      */
     $object->setDeletedChildrenIds($childrenIds);
     return $this;
 }