Example #1
0
 /**
  * Return parent category of current category with own custom design settings
  *
  * @param \Magento\Catalog\Model\Category $category
  * @return \Magento\Catalog\Model\Category
  */
 public function getParentDesignCategory($category)
 {
     $pathIds = array_reverse($category->getPathIds());
     $collection = clone $category->getCollection();
     $collection->setMainTable($this->getMainStoreTable($category->getStoreId()))->addFieldToSelect('*')->addFieldToFilter('entity_id', ['in' => $pathIds])->addFieldToFilter('custom_use_parent_settings', [['eq' => 0], ['null' => 0]])->addFieldToFilter('level', ['neq' => 0])->setOrder('level', 'DESC')->load();
     return $collection->getFirstItem();
 }
Example #2
0
 /**
  * Return child categories
  *
  * @param \Magento\Catalog\Model\Category $category
  * @return \Magento\Catalog\Model\Resource\Category\Collection
  */
 public function getChildrenCategories($category)
 {
     $collection = $category->getCollection();
     /* @var $collection \Magento\Catalog\Model\Resource\Category\Collection */
     $collection->addAttributeToSelect('url_key')->addAttributeToSelect('name')->addAttributeToSelect('all_children')->addAttributeToSelect('is_anchor')->addAttributeToFilter('is_active', 1)->addIdFilter($category->getChildren())->setOrder('position', \Magento\Framework\DB\Select::SQL_ASC)->joinUrlRewrite()->load();
     return $collection;
 }
 /**
  * {@inheritdoc}
  */
 public function getCollection()
 {
     $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getCollection');
     if (!$pluginInfo) {
         return parent::getCollection();
     } else {
         return $this->___callPlugins('getCollection', func_get_args(), $pluginInfo);
     }
 }