當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Category::getParentIds方法代碼示例

本文整理匯總了PHP中Magento\Catalog\Model\Category::getParentIds方法的典型用法代碼示例。如果您正苦於以下問題:PHP Category::getParentIds方法的具體用法?PHP Category::getParentIds怎麽用?PHP Category::getParentIds使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Magento\Catalog\Model\Category的用法示例。


在下文中一共展示了Category::getParentIds方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: testGetParentIds

 public function testGetParentIds()
 {
     $this->assertEquals([], $this->_model->getParentIds());
     $this->_model->unsetData();
     $this->_model->load(4);
     $this->assertContains(3, $this->_model->getParentIds());
     $this->assertNotContains(4, $this->_model->getParentIds());
 }
開發者ID:andrewhowdencom,項目名稱:m2onk8s,代碼行數:8,代碼來源:CategoryTreeTest.php

示例2: processDelete

 /**
  * @param Category $category
  * @return void
  */
 public function processDelete(Category $category)
 {
     /** @var \Magento\Catalog\Model\ResourceModel\Category $resourceModel */
     $resourceModel = $category->getResource();
     /**
      * Update children count for all parent categories
      */
     $parentIds = $category->getParentIds();
     if ($parentIds) {
         $childDecrease = $category->getChildrenCount() + 1;
         // +1 is itself
         $data = ['children_count' => new \Zend_Db_Expr('children_count - ' . $childDecrease)];
         $where = ['entity_id IN(?)' => $parentIds];
         $resourceModel->getConnection()->update($resourceModel->getEntityTable(), $data, $where);
     }
 }
開發者ID:Doability,項目名稱:magento2dev,代碼行數:20,代碼來源:AggregateCount.php

示例3: changeParent

 /**
  * Move category to another parent node
  *
  * @param \Magento\Catalog\Model\Category $category
  * @param \Magento\Catalog\Model\Category $newParent
  * @param null|int $afterCategoryId
  * @return $this
  */
 public function changeParent(\Magento\Catalog\Model\Category $category, \Magento\Catalog\Model\Category $newParent, $afterCategoryId = null)
 {
     $childrenCount = $this->getChildrenCount($category->getId()) + 1;
     $table = $this->getEntityTable();
     $adapter = $this->_getWriteAdapter();
     $levelFiled = $adapter->quoteIdentifier('level');
     $pathField = $adapter->quoteIdentifier('path');
     /**
      * Decrease children count for all old category parent categories
      */
     $adapter->update($table, array('children_count' => new \Zend_Db_Expr('children_count - ' . $childrenCount)), array('entity_id IN(?)' => $category->getParentIds()));
     /**
      * Increase children count for new category parents
      */
     $adapter->update($table, array('children_count' => new \Zend_Db_Expr('children_count + ' . $childrenCount)), array('entity_id IN(?)' => $newParent->getPathIds()));
     $position = $this->_processPositions($category, $newParent, $afterCategoryId);
     $newPath = sprintf('%s/%s', $newParent->getPath(), $category->getId());
     $newLevel = $newParent->getLevel() + 1;
     $levelDisposition = $newLevel - $category->getLevel();
     /**
      * Update children nodes path
      */
     $adapter->update($table, array('path' => new \Zend_Db_Expr('REPLACE(' . $pathField . ',' . $adapter->quote($category->getPath() . '/') . ', ' . $adapter->quote($newPath . '/') . ')'), 'level' => new \Zend_Db_Expr($levelFiled . ' + ' . $levelDisposition)), array($pathField . ' LIKE ?' => $category->getPath() . '/%'));
     /**
      * Update moved category data
      */
     $data = array('path' => $newPath, 'level' => $newLevel, 'position' => $position, 'parent_id' => $newParent->getId());
     $adapter->update($table, $data, array('entity_id = ?' => $category->getId()));
     // Update category object to new data
     $category->addData($data);
     $category->unsetData('path_ids');
     return $this;
 }
開發者ID:pavelnovitsky,項目名稱:magento2,代碼行數:41,代碼來源:Category.php

示例4: isCategoryProperForGenerating

 /**
  * @param \Magento\Catalog\Model\Category $category
  * @param int $storeId
  * @return bool
  */
 protected function isCategoryProperForGenerating($category, $storeId)
 {
     if ($category->getParentId() != \Magento\Catalog\Model\Category::TREE_ROOT_ID) {
         list(, $rootCategoryId) = $category->getParentIds();
         return $rootCategoryId == $this->storeManager->getStore($storeId)->getRootCategoryId();
     }
     return false;
 }
開發者ID:kidaa30,項目名稱:magento2-platformsh,代碼行數:13,代碼來源:ProductUrlRewriteGenerator.php

示例5: testVerifyIds

 public function testVerifyIds()
 {
     $ids = $this->_model->verifyIds($this->_model->getParentIds());
     $this->assertNotContains(100, $ids);
 }
開發者ID:BlackIkeEagle,項目名稱:magento2-continuousphp,代碼行數:5,代碼來源:CategoryTest.php

示例6: getCategoryQueryTerm

 public function getCategoryQueryTerm(Category $category, $store = null)
 {
     $queryType = $this->helper->getCategoryQueryType($store);
     if ($queryType == CategoryQueryType::NAME) {
         return $category->getName();
     }
     $parents = $category->getParentCategories();
     $parentIds = array_intersect($category->getParentIds(), array_keys($parents));
     switch ($queryType) {
         case CategoryQueryType::FULL_PATH:
             break;
         case CategoryQueryType::NAME_AND_PARENT_NAME:
             $parentId = $category->getParentId();
             $parentIds = in_array($parentId, $parentIds) ? [$parentId] : [];
             break;
         case CategoryQueryType::NAME_AND_ROOT_NAME:
             $parentIds = array_slice($parentIds, 0, 1);
             break;
     }
     $names = array_map(function ($id) use($parents) {
         return $parents[$id]->getName();
     }, $parentIds);
     $names[] = $category->getName();
     return implode(' ', $names);
 }
開發者ID:devbelvg,項目名稱:M2_ConversionPro_Embedded,代碼行數:25,代碼來源:Search.php

示例7: isInRootCategoryList

 /**
  * Check is category in list of store categories
  *
  * @param \Magento\Catalog\Model\Category $category
  * @return boolean
  */
 public function isInRootCategoryList($category)
 {
     $pathIds = $category->getParentIds();
     return in_array($this->_storeManager->getStore()->getRootCategoryId(), $pathIds);
 }
開發者ID:shabbirvividads,項目名稱:magento2,代碼行數:11,代碼來源:Flat.php

示例8: isCategoryProperForGenerating

 /**
  * @param \Magento\Catalog\Model\Category $category
  * @param int $storeId
  * @return bool
  */
 protected function isCategoryProperForGenerating($category, $storeId)
 {
     if (isset($this->acceptableCategories[$storeId]) && isset($this->acceptableCategories[$storeId][$category->getId()])) {
         return $this->acceptableCategories[$storeId][$category->getId()];
     }
     $acceptable = false;
     if ($category->getParentId() != \Magento\Catalog\Model\Category::TREE_ROOT_ID) {
         list(, $rootCategoryId) = $category->getParentIds();
         $acceptable = $rootCategoryId == $this->storeManager->getStore($storeId)->getRootCategoryId();
     }
     if (!isset($this->acceptableCategories[$storeId])) {
         $this->acceptableCategories[$storeId] = [];
     }
     $this->acceptableCategories[$storeId][$category->getId()] = $acceptable;
     return $acceptable;
 }
開發者ID:whoople,項目名稱:magento2-testing,代碼行數:21,代碼來源:AfterImportDataObserver.php

示例9: getParentIds

 /**
  * {@inheritdoc}
  */
 public function getParentIds()
 {
     $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getParentIds');
     if (!$pluginInfo) {
         return parent::getParentIds();
     } else {
         return $this->___callPlugins('getParentIds', func_get_args(), $pluginInfo);
     }
 }
開發者ID:HaonanXu,項目名稱:der-snack-backup,代碼行數:12,代碼來源:Interceptor.php


注:本文中的Magento\Catalog\Model\Category::getParentIds方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。