我正在尝试将所有类别ID及其名称都添加到magento中。为此,在我们的模板文件中,我添加了以下代码:
$category = Mage::getModel('catalog/category')->getCollection()->getEntity();
echo '<pre>';
print_r($category);
echo '</pre>';
返回以下对象。
Mage_Catalog_Model_Resource_Category Object
(
[_tree:protected] =>
[_categoryProductTable:protected] => catalog_category_product
[_isActiveAttributeId:protected] =>
[_storeId:protected] =>
[_attributes:protected] => Array
(
[42] => Array
(
[value_id] => 3
[entity_type_id] => 3
[attribute_id] => 42
[store_id] => 0
[entity_id] => 2
[value] => 1
)
[67] => Array
(
[value_id] => 4
[entity_type_id] => 3
[attribute_id] => 67
[store_id] => 0
[entity_id] => 2
[value] => 1
)
.................. going on ....
从这个对象得到attribute_id?如果可以请我解释..如果可以的话,还可以解释收藏中有什么东西。提前谢谢。
答案 0 :(得分:3)
试试这个:
$category = Mage::getModel('catalog/category')->getCollection();
foreach ($category as $cat)
{
$catObj = Mage::getModel('catalog/category')->load($cat->getEntityId());
//category Id
var_dump($catObj->getEntityId());
//category Name
var_dump($catObj->getName());
}
请记住,这会加载所有类别(在任何级别的后端创建的所有类别以及活动/非活动)。
您需要根据需要进行过滤。为此,您可以在
过滤$category = Mage::getModel('catalog/category')
->getCollection()
//ADD YOUR FILTERS HERE
/*LIKE THESE
->addIsActiveFilter()
->addLevelFilter(1) */
;