当前位置: 首页>>代码示例>>PHP>>正文


PHP Mage_Catalog_Model_Category类代码示例

本文整理汇总了PHP中Mage_Catalog_Model_Category的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Catalog_Model_Category类的具体用法?PHP Mage_Catalog_Model_Category怎么用?PHP Mage_Catalog_Model_Category使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Mage_Catalog_Model_Category类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _hasCustomUpdate

 protected function _hasCustomUpdate(Mage_Catalog_Model_Category $category)
 {
     if ($category->getData('custom_layout_update') && in_array($category->getCustomDesignApply(), array(Mage_Catalog_Model_Design::CATEGORY_APPLY_CATEGORY_AND_PRODUCT_RECURSIVE, Mage_Catalog_Model_Design::CATEGORY_APPLY_CATEGORY_RECURSIVE))) {
         return true;
     }
     return false;
 }
开发者ID:novalis111,项目名称:Magento-Recursive-Layout-Updates,代码行数:7,代码来源:Category.php

示例2: getCategory

 /**
  * Search category by the name from root category or specified one.
  * Create category when it doesn't exist if $createIfNotExists
  * parameter is set.
  * Search category by store-specific name if $store parameter is set.
  *
  * @param string $name
  * @param bool $createIfNotExists
  * @param Mage_Catalog_Model_Category $parent
  * @param null|Mage_Core_Model_Store $store
  *
  * @return Mage_Catalog_Model_Category|null
  */
 public function getCategory($name, $createIfNotExists = false, $parent = null, $store = null)
 {
     $store = $store instanceof Mage_Core_Model_Store ? $store : Mage::app()->getStore();
     $collection = $parent && ($parentId = $parent->getId()) ? $parent->setStoreId($store->getId())->getCollection()->addFieldToFilter('parent_id', $parentId) : Mage::getModel('catalog/category')->setStoreId($store->getId())->load($store->getRootCategoryId())->getCollection();
     $collection->addAttributeToFilter('name', $name);
     if ($collection->count()) {
         return $collection->getFirstItem();
     }
     if (!$createIfNotExists) {
         return;
     }
     if ($parent && $parent->getId()) {
         $rootCategory = $parent;
     } else {
         $collection = Mage::getModel('catalog/category')->getCollection()->addAttributeToFilter('parent_id', 1);
         if (count($collection) != 1) {
             return null;
         }
         $rootCategory = $collection->getFirstItem();
         if (!$rootCategory->getId()) {
             return null;
         }
     }
     $model = Mage::getModel('catalog/category');
     $model->setStoreId($rootCategory->getStoreId())->setData(array('name' => $name, 'is_active' => 1, 'include_in_menu' => 1))->setPath($rootCategory->getPath())->setAttributeSetId($model->getDefaultAttributeSetId());
     try {
         $model->save();
     } catch (Exception $e) {
         return null;
     }
     return $model;
 }
开发者ID:james-hickman-arc,项目名称:magento-w2p,代码行数:45,代码来源:Category.php

示例3: _applyCustomDesignSettings

 /**
  * Recursively apply custom design settings to product if it's container
  * category custom_use_for_products option is setted to 1.
  * If not or product shows not in category - applyes product's internal settings
  *
  * @deprecated after 1.4.2.0-beta1, functionality moved to Mage_Catalog_Model_Design
  * @param Mage_Catalog_Model_Category|Mage_Catalog_Model_Product $object
  * @param Mage_Core_Model_Layout_Update $update
  */
 protected function _applyCustomDesignSettings($object, $update)
 {
     if ($object instanceof Mage_Catalog_Model_Category) {
         // lookup the proper category recursively
         if ($object->getCustomUseParentSettings()) {
             $parentCategory = $object->getParentCategory();
             if ($parentCategory && $parentCategory->getId() && $parentCategory->getLevel() > 1) {
                 $this->_applyCustomDesignSettings($parentCategory, $update);
             }
             return;
         }
         // don't apply to the product
         if (!$object->getCustomApplyToProducts()) {
             return;
         }
     }
     if ($this->_designProductSettingsApplied) {
         return;
     }
     $date = $object->getCustomDesignDate();
     if (array_key_exists('from', $date) && array_key_exists('to', $date) && Mage::app()->getLocale()->isStoreDateInInterval(null, $date['from'], $date['to'])) {
         if ($object->getPageLayout()) {
             $this->_designProductSettingsApplied['layout'] = $object->getPageLayout();
         }
         $this->_designProductSettingsApplied['update'] = $object->getCustomLayoutUpdate();
     }
 }
开发者ID:xiaoguizhidao,项目名称:blingjewelry-prod,代码行数:36,代码来源:ProductController.php

示例4: _getProductCollection

 protected function _getProductCollection()
 {
     if (is_null($this->_productCollection)) {
         $categoryID = $this->getCategoryId();
         if ($categoryID) {
             $category = new Mage_Catalog_Model_Category();
             $category->load($categoryID);
             // this is category id
             $collection = $category->getProductCollection();
         } else {
             $collection = Mage::getResourceModel('catalog/product_collection');
         }
         $todayDate = date('m/d/y');
         $tomorrow = mktime(0, 0, 0, date('m'), date('d') + 1, date('y'));
         $tomorrowDate = date('m/d/y', $tomorrow);
         Mage::getModel('catalog/layer')->prepareProductCollection($collection);
         //$collection->getSelect()->order('rand()');
         $collection->addAttributeToSort('created_at', 'desc');
         $collection->addStoreFilter();
         $collection->addAttributeToFilter('special_from_date', array('date' => true, 'to' => $todayDate))->addAttributeToFilter('special_to_date', array('or' => array(0 => array('date' => true, 'from' => $tomorrowDate), 1 => array('is' => new Zend_Db_Expr('null')))), 'left');
         $numProducts = $this->getNumProducts() ? $this->getNumProducts() : 0;
         $collection->setPage(1, $numProducts)->load();
         $this->_productCollection = $collection;
     }
     return $this->_productCollection;
 }
开发者ID:xiaoguizhidao,项目名称:tyler-live,代码行数:26,代码来源:special.php

示例5: _reindexCategoryUrlKey

 protected function _reindexCategoryUrlKey(Mage_Catalog_Model_Category $category, Mage_Core_Model_Store $store)
 {
     $requestPath = trim($category->getParentUrl(), '/');
     if (Mage::getStoreConfig('catalog/seo/category_use_parent_category')) {
         $requestPath = (!empty($requestPath) ? $requestPath . '/' : '') . $category->getUrlKey();
     } else {
         $requestPath = $category->getUrlKey();
     }
     $requestPath = $this->_cutRequestPath($requestPath);
     $urlKeyValue = $this->_getUrlKeyAttributeValueId($category, $store);
     if (empty($urlKeyValue) && empty($urlKeyValue['value_id'])) {
         $category = $this->_setUrlKeyForDefaultStore($category, $store);
         $urlKeyValue = $this->_getUrlKeyAttributeValueId($category, $store);
     }
     $valueId = $urlKeyValue['value_id'];
     $rewriteRow = $this->_getRewrite($requestPath, $store->getId());
     if (!$rewriteRow || $rewriteRow['value_id'] != $valueId) {
         $rewriteForValueId = $this->_getRewriteForValueId($store->getId(), $valueId);
         $suffix = trim(str_replace($requestPath, '', $category->getRequestPath()), '-');
         $requestPathIncrement = (int) $this->_getRewriteRequestIncrement($requestPath, $store);
         if (!$rewriteForValueId || !preg_match('#^(\\d)+$#', $suffix) || $suffix > $requestPathIncrement) {
             if ($rewriteRow && $rewriteRow['value_id'] != $valueId) {
                 $requestPath .= '-' . ++$requestPathIncrement;
             }
             $category = $this->_saveRewrite($category, $store, $requestPath, $valueId);
         }
     }
     $this->_indexedCategoryIds[$store->getId()][$category->getId()] = 1;
     return $category;
 }
开发者ID:vinayshuklasourcefuse,项目名称:sareez,代码行数:30,代码来源:Mnm_ExcParentCatPathFromSubCatUrls_Model_Catalog_Index_Action_Url_Rewrite_Category_Refresh.php

示例6: isCategoryAcceptable

 /**
  * Checks if a category matches criteria: active && url_key not null && included in menu if it has to
  */
 protected static function isCategoryAcceptable(Mage_Catalog_Model_Category $category = null, $mustBeIncludedInNavigation = true)
 {
     if (!$category->getIsActive() || is_null($category->getUrlKey()) || $mustBeIncludedInNavigation && !$category->getIncludeInMenu()) {
         return false;
     }
     return true;
 }
开发者ID:liemnv,项目名称:Groupon-Clone-On-Magento,代码行数:10,代码来源:Data.php

示例7: setUp

 protected function setUp()
 {
     $this->_category = Mage::getModel('Mage_Catalog_Model_Category');
     $this->_category->load(5);
     $this->_model = Mage::getModel('Mage_Catalog_Model_Layer_Filter_Category');
     $this->_model->setData(array('layer' => Mage::getModel('Mage_Catalog_Model_Layer', array('data' => array('current_category' => $this->_category)))));
 }
开发者ID:natxetee,项目名称:magento2,代码行数:7,代码来源:CategoryTest.php

示例8: _getProductCollection

 /**
  * Retrieve loaded category collection.
  * Variables collected from CMS markup: category_id, product_count, is_random
  */
 protected function _getProductCollection()
 {
     if (is_null($this->_productCollection)) {
         $categoryID = $this->getCategoryId();
         if ($categoryID) {
             $category = new Mage_Catalog_Model_Category();
             $category->load($categoryID);
             $collection = $category->getProductCollection();
             //Sort order parameters
             $sortBy = $this->getSortBy();
             //param: sort_by
             if ($sortBy === NULL) {
                 $sortBy = 'position';
             }
             $sortDirection = $this->getSortDirection();
             //param: sort_direction
             if ($sortDirection === NULL) {
                 $sortDirection = 'ASC';
             }
             $collection->addAttributeToSort($sortBy, $sortDirection);
         } else {
             $collection = Mage::getResourceModel('catalog/product_collection');
         }
         Mage::getModel('catalog/layer')->prepareProductCollection($collection);
         if ($this->getIsRandom()) {
             $collection->getSelect()->order('rand()');
         }
         $collection->addStoreFilter();
         $productCount = $this->getProductCount() ? $this->getProductCount() : 8;
         $collection->setPage(1, $productCount)->load();
         $this->_productCollection = $collection;
     }
     return $this->_productCollection;
 }
开发者ID:klord9x,项目名称:project-nam1,代码行数:38,代码来源:Featured.php

示例9: setUp

 protected function setUp()
 {
     $category = new Mage_Catalog_Model_Category();
     $category->load(4);
     $this->_model = new Mage_Catalog_Model_Layer_Filter_Price();
     $this->_model->setData(array('layer' => new Mage_Catalog_Model_Layer(array('current_category' => $category))));
 }
开发者ID:nemphys,项目名称:magento2,代码行数:7,代码来源:PriceTest.php

示例10: testSaveAction

 /**
  * @magentoDataFixture Mage/Core/_files/store.php
  * @magentoDbIsolation enabled
  * @dataProvider saveActionDataProvider
  * @param array $inputData
  * @param array $defaultAttributes
  * @param array $attributesSaved
  */
 public function testSaveAction($inputData, $defaultAttributes, $attributesSaved = array())
 {
     $store = new Mage_Core_Model_Store();
     $store->load('fixturestore', 'code');
     $storeId = $store->getId();
     $this->getRequest()->setPost($inputData);
     $this->getRequest()->setParam('store', $storeId);
     $this->getRequest()->setParam('id', 2);
     $this->dispatch('backend/admin/catalog_category/save');
     $messages = Mage::getSingleton('Mage_Backend_Model_Session')->getMessages(false)->getItemsByType(Mage_Core_Model_Message::SUCCESS);
     $this->assertNotEmpty($messages, "Could not save category");
     $this->assertEquals('The category has been saved.', current($messages)->getCode());
     $category = new Mage_Catalog_Model_Category();
     $category->setStoreId($storeId);
     $category->load(2);
     $errors = array();
     foreach ($attributesSaved as $attribute => $value) {
         $actualValue = $category->getData($attribute);
         if ($value !== $actualValue) {
             $errors[] = "value for '{$attribute}' attribute must be '{$value}', but '{$actualValue}' is found instead";
         }
     }
     foreach ($defaultAttributes as $attribute => $exists) {
         if ($exists !== $category->getExistsStoreValueFlag($attribute)) {
             if ($exists) {
                 $errors[] = "custom value for '{$attribute}' attribute is not found";
             } else {
                 $errors[] = "custom value for '{$attribute}' attribute is found, but default one must be used";
             }
         }
     }
     $this->assertEmpty($errors, "\n" . join("\n", $errors));
 }
开发者ID:nemphys,项目名称:magento2,代码行数:41,代码来源:CategoryControllerTest.php

示例11: getCategoryUrl

 /**
  * Retrieve category url
  *
  * @param   Mage_Catalog_Model_Category $category
  * @return  string
  */
 public function getCategoryUrl($category)
 {
     if ($category instanceof Mage_Catalog_Model_Category) {
         return $category->getUrl();
     }
     return Mage::getModel('catalog/category')->setData($category->getData())->getUrl();
 }
开发者ID:HelioFreitas,项目名称:magento-pt_br,代码行数:13,代码来源:Category.php

示例12: reindex

 /**
  * Reindex a single virtual category.
  *
  * @param Mage_Catalog_Model_Category $category The category.
  *
  * @return void
  */
 public function reindex($category)
 {
     /** Reindex all data from virtual categories products positions index */
     $engine = Mage::helper('catalogsearch')->getEngine();
     $mapping = $engine->getCurrentIndex()->getMapping('product');
     $dataprovider = $mapping->getDataProvider('virtual_categories_products_position');
     $dataprovider->updateAllData($category->getStoreId(), $category->getVirtualProductIds());
 }
开发者ID:manueltoniato,项目名称:smile-magento-elasticsearch,代码行数:15,代码来源:Position.php

示例13: _buildCategoryTree

 /**
  * Take a Mage_Catalog_Model_Category object and build a category tree from
  * the child leaf to the root of the category (root > inner child > inner most child)
  * @param Mage_Catalog_Model_Category $category the inner most child
  * @return string
  */
 protected function _buildCategoryTree(Mage_Catalog_Model_Category $category)
 {
     $collecton = $this->_getCategoriesByIds(explode('/', $category->getPath()));
     $categories = array();
     foreach ($collecton as $cat) {
         $categories[] = $cat->getName();
     }
     return implode(' > ', array_filter($categories));
 }
开发者ID:adamhobson,项目名称:magento-eems-affiliate,代码行数:15,代码来源:Product.php

示例14: _isProductInCategory

 /**
  * Check if product is inside of the category
  * 
  * @param  Mage_Catalog_Model_Product   $product  
  * @param  Mage_Catalog_Model_Category  $category 
  * @return boolean
  */
 private function _isProductInCategory($product, $category)
 {
     $categoryIds = $product->getCategoryIds();
     $categoryId = $category->getId();
     if (in_array($categoryId, $categoryIds)) {
         return true;
     }
     return false;
 }
开发者ID:danielozano,项目名称:magento_prevnext,代码行数:16,代码来源:Product.php

示例15: getCmsIdentifier

 /**
  * Get static block identifier
  *
  * @param Mage_Catalog_Model_Category $category
  *
  * @return string
  */
 protected function getCmsIdentifier(Mage_Catalog_Model_Category $category)
 {
     $cmsBlockId = intval($category->getLandingPage());
     if (is_integer($cmsBlockId) && $cmsBlockId > 0) {
         $cmsBlock = Mage::getModel('cms/block')->load($cmsBlockId);
         return $cmsBlock->getIdentifier();
     }
     return NULL;
 }
开发者ID:xiaoguizhidao,项目名称:magento,代码行数:16,代码来源:LandingSwitch.php


注:本文中的Mage_Catalog_Model_Category类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。