/**
  * Append virtual rule and sorting product data.
  *
  * @param CategoryDataProvider $dataProvider Data provider.
  * @param \Closure             $proceed      Original method.
  *
  * @return array
  */
 public function aroundGetData(CategoryDataProvider $dataProvider, \Closure $proceed)
 {
     $data = $proceed();
     $currentCategory = $dataProvider->getCurrentCategory();
     if ($currentCategory->getId() === null || $currentCategory->getLevel() < 2) {
         $data[$currentCategory->getId()]['use_default']['is_virtual_category'] = true;
     }
     $data[$currentCategory->getId()]['sorted_products'] = $this->getProductSavedPositions($currentCategory);
     $data[$currentCategory->getId()]['product_sorter_load_url'] = $this->getProductSorterLoadUrl($currentCategory);
     $data[$currentCategory->getId()]['price_format'] = $this->localeFormat->getPriceFormat();
     return $data;
 }
示例#2
0
 /**
  * @param \Magento\Catalog\Model\Category\DataProvider $subject
  * @param array $result
  *
  * @return array
  */
 public function afterGetAttributesMeta(\Magento\Catalog\Model\Category\DataProvider $subject, $result)
 {
     /** @var \Magento\Catalog\Model\Category $category */
     $category = $subject->getCurrentCategory();
     if (isset($result['url_key'])) {
         if ($category && $category->getId()) {
             if ($category->getLevel() == 1) {
                 $result['url_key_group']['componentDisabled'] = true;
             } else {
                 $result['url_key_create_redirect']['valueMap']['true'] = $category->getUrlKey();
                 $result['url_key_create_redirect']['value'] = $category->getUrlKey();
                 $result['url_key_create_redirect']['disabled'] = true;
             }
         } else {
             $result['url_key_create_redirect']['visible'] = false;
         }
     }
     return $result;
 }