从对象中检索数据 - Magento

时间:2014-07-03 12:11:51

标签: php magento

我正在尝试将所有类别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?如果可以请我解释..如果可以的话,还可以解释收藏中有什么东西。提前谢谢。

1 个答案:

答案 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) */
                      ;