2013-10-14 59 views
0

我試圖讓這段代碼的attribute_set_id:getAttributeSetId()老是報錯

$SetId = Mage::getModel('eav/entity_setup') 
     ->getAttributeSetId('catalog_product','Default'); 

不過,我總是得到這樣的錯誤:

Call to a member function select() on a non-object in 
magento\app\code\core\Mage\Core\Model\Resource\Setup.php on line 734 

這是Setup.php行734:

$select = $adapter->select() 
      ->from($table) 
      ->where($adapter->quoteIdentifier($idField) . '= :id_field'); 

我所知道的Mage_Eav_Model_Entity_Setup類已經擴展Mage_Core_Model_Resource_Setup類。爲什麼它仍然說非對象?

謝謝。

+0

你確定適配器是一個對象呢? PHP告訴你這不是 – Soundz

回答

0

您需要通過構造函數的參數,基於它的連接適配器上beeing intialized:

$SetId = Mage::getModel('eav/entity_setup','core_setup') 
     ->getAttributeSetId('catalog_product','Default'); 
+0

這一個工程。謝謝。 – user2880076

1

eav/entity_setup模型的目的是爲SQL更新處理,所以它可能失敗範圍之外。

這裏是正確的片段:

Mage::getSingleton('catalog/config')->getAttributeSetId('catalog_product', 'Default')

+0

我得到這個錯誤: 調用未定義的方法Mage_Catalog_Model_Config :: getAttributeSetId() – user2880076