本文整理汇总了PHP中Mage_Catalog_Model_Category::getParentId方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Catalog_Model_Category::getParentId方法的具体用法?PHP Mage_Catalog_Model_Category::getParentId怎么用?PHP Mage_Catalog_Model_Category::getParentId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Catalog_Model_Category
的用法示例。
在下文中一共展示了Mage_Catalog_Model_Category::getParentId方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testGetParentId
public function testGetParentId()
{
$this->assertEquals(0, $this->_model->getParentId());
$this->_model->unsetData();
$this->_model->load(4);
$this->assertEquals(3, $this->_model->getParentId());
}
示例2: exportData
protected function exportData(Mage_Catalog_Model_Category $category, $file, $depth = 0)
{
$data = array('id' => $category->getId(), 'parent_id' => $category->getParentId(), 'attribute_set_id' => $category->getAttributeSetId(), 'urlPath' => $category->getUrlPath(), 'urlKey' => $category->getUrlKey(), 'path' => $category->getPath(), 'position' => $category->getPosition(), 'page_layout' => $category->getPageLayout(), 'description' => $category->getDescription(), 'display_mode' => $category->getDisplayMode(), 'is_active' => $category->getIsActive(), 'is_anchor' => $category->getIsAnchor(), 'include_in_menu' => $category->getIncludeInMenu(), 'custom_design' => $category->getCustomDesign(), 'level' => $category->getLevel(), 'name' => $category->getName(), 'metaTitle' => $category->getMetaTitle(), 'metaKeywords' => $category->getMetaKeywords(), 'metaDescription' => $category->getMetaDescription());
echo str_repeat(' ', $depth);
echo '* ' . $category->getName() . sprintf(' (%s products)', $category->getProductCount()) . PHP_EOL;
fputcsv($file, $data);
if ($category->hasChildren()) {
$children = Mage::getModel('catalog/category')->getCategories($category->getId());
foreach ($children as $child) {
$child = Mage::getModel('catalog/category')->load($child->getId());
$this->exportData($child, $file, $depth + 1);
}
}
}
示例3: _processPositions
/**
* Process positions of old parent category children and new parent category children.
* Get position for moved category
*
* @param Mage_Catalog_Model_Category $category
* @param Mage_Catalog_Model_Category $newParent
* @param null|int $afterCategoryId
* @return int
*/
protected function _processPositions($category, $newParent, $afterCategoryId)
{
$table = $this->getEntityTable();
$adapter = $this->_getWriteAdapter();
$positionField = $adapter->quoteIdentifier('position');
$bind = array('position' => new Zend_Db_Expr($positionField . ' - 1'));
$where = array('parent_id = ?' => $category->getParentId(), $positionField . ' > ?' => $category->getPosition());
$adapter->update($table, $bind, $where);
/**
* Prepare position value
*/
if ($afterCategoryId) {
$select = $adapter->select()->from($table, 'position')->where('entity_id = :entity_id');
$position = $adapter->fetchOne($select, array('entity_id' => $afterCategoryId));
$bind = array('position' => new Zend_Db_Expr($positionField . ' + 1'));
$where = array('parent_id = ?' => $newParent->getId(), $positionField . ' > ?' => $position);
$adapter->update($table, $bind, $where);
} elseif ($afterCategoryId !== null) {
$position = 0;
$bind = array('position' => new Zend_Db_Expr($positionField . ' + 1'));
$where = array('parent_id = ?' => $newParent->getId(), $positionField . ' > ?' => $position);
$adapter->update($table, $bind, $where);
} else {
$select = $adapter->select()->from($table, array('position' => new Zend_Db_Expr('MIN(' . $positionField . ')')))->where('parent_id = :parent_id');
$position = $adapter->fetchOne($select, array('parent_id' => $newParent->getId()));
}
$position += 1;
return $position;
}
示例4: _processPositions
/**
* Process positions of old parent category children and new parent category children.
* Get position for moved category
*
* @param Mage_Catalog_Model_Category $category
* @param Mage_Catalog_Model_Category $newParent
* @param null|int $afterCategoryId
* @return int
*/
protected function _processPositions($category, $newParent, $afterCategoryId)
{
$table = $this->getEntityTable();
$adapter = $this->_getWriteAdapter();
$sql = "UPDATE {$table} SET `position`=`position`-1 WHERE " . $adapter->quoteInto('parent_id=? AND ', $category->getParentId()) . $adapter->quoteInto('position>?', $category->getPosition());
$adapter->query($sql);
/**
* Prepare position value
*/
if ($afterCategoryId) {
$sql = "SELECT `position` FROM {$table} WHERE entity_id=?";
$position = $adapter->fetchOne($adapter->quoteInto($sql, $afterCategoryId));
$sql = "UPDATE {$table} SET `position`=`position`+1 WHERE " . $adapter->quoteInto('parent_id=? AND ', $newParent->getId()) . $adapter->quoteInto('position>?', $position);
$adapter->query($sql);
} elseif ($afterCategoryId !== null) {
$position = 0;
$sql = "UPDATE {$table} SET `position`=`position`+1 WHERE " . $adapter->quoteInto('parent_id=? AND ', $newParent->getId()) . $adapter->quoteInto('position>?', $position);
$adapter->query($sql);
} else {
$sql = "SELECT MIN(`position`) FROM {$table} WHERE parent_id=?";
$position = $adapter->fetchOne($adapter->quoteInto($sql, $newParent->getId()));
}
$position += 1;
return $position;
}
示例5: _setParentId
/**
* Fill the Field parent_id in the given array
*
* @param Mage_Catalog_Model_Category $category
*/
protected function _setParentId($category)
{
$this->_defaultRow["parent_id"] = $this->_parentId != $category->getParentId() ? $category->getParentId() : "";
}
示例6: _prepareItemData
protected function _prepareItemData(Mage_Catalog_Model_Category $category, $level = 1)
{
$row = null;
$addCount = $this->getCountEnabled();
$isSelected = in_array($category->getId(), $this->getCategories());
$isFolded = $level > 1 && $this->getCategory()->getParentId() != $category->getParentId();
$value = $this->_calculateCategoryValue($category->getId());
if (!$addCount || $category->getProductCount()) {
$row = array('label' => Mage::helper('core')->htmlEscape($category->getName()), 'url' => $this->getCategoryUrl($value), 'count' => $addCount ? $this->_getProductCount($category) : 0, 'level' => $level, 'id' => $category->getId(), 'value' => $value, 'parent_id' => $category->getParentId(), 'is_folded' => $isFolded, 'is_selected' => $isSelected);
}
return $row;
}
示例7: move
public function move(Mage_Catalog_Model_Category $category, $newParentId)
{
$oldStoreId = $category->getStoreId();
$parent = Mage::getModel('catalog/category')->setStoreId($category->getStoreId())->load($category->getParentId());
$newParent = Mage::getModel('catalog/category')->setStoreId($category->getStoreId())->load($newParentId);
$oldParentStores = $parent->getStoreIds();
$newParentStores = $newParent->getStoreIds();
$category->setParentId($newParentId)->save();
$parent->save();
$newParent->save();
// Add to new stores
$addToStores = array_diff($newParentStores, $oldParentStores);
foreach ($addToStores as $storeId) {
$newCategory = clone $category;
$newCategory->setStoreId($storeId)->save();
$children = $category->getAllChildren();
if ($children && ($arrChildren = explode(',', $children))) {
foreach ($arrChildren as $childId) {
if ($childId == $category->getId()) {
continue;
}
$child = Mage::getModel('catalog/category')->setStoreId($oldStoreId)->load($childId)->setStoreId($storeId)->save();
}
}
}
return $this;
}
示例8: _isValidCategory
/**
* Additional validation when on a category page, so the sub category of the store root category is not added as filter.
*
* @param Mage_Catalog_Model_Category $category Category to be validated.
*
* @return bool
*/
protected function _isValidCategory($category)
{
$rootId = (int) Mage::app()->getStore()->getRootCategoryId();
if ($this->getUseUrlRewrites() && $category->getParentId() === $rootId) {
return false;
}
return parent::_isValidCategory($category);
}