2013-12-23 48 views
1

我正在尋找一種按名稱獲取Magento對象(商店,網站,組)的方法。是的,我知道我可以得到整個集合,然後遍歷它,但對我來說這似乎相當愚蠢。我嘗試了一些實驗,但都無濟於事。當然,必須有某種方式讓數據庫爲我找到這個對象,而不必返回一個完整的集合並手動迭代它。Magento - 按名稱獲取商店,網站,組對象

到目前爲止,我已經嘗試瞭如下代碼的寶石,都沒有任何運氣。

$site = Mage::getResourceModel('core/website_collection')->addFieldFilter('name', "Test Website"); 
$site = Mage::getResourceModel('core/website')->loadByAttribute('name', 'Test Store'); 

回答

3

我認爲,如果你這樣做,它會給你下面的致命錯誤,你不執行你的下面的代碼

$site = Mage::getResourceModel('core/website_collection')->addFieldFilter('name', "Test Website"); 

原因你可以找出問題所在。

Fatal error: Call to undefined method Mage_Core_Model_Resource_Website_Collection::addFieldFilter() in... 

不管怎麼說使用下面的代碼

$site = Mage::getResourceModel('core/website_collection')->addFieldToFilter('name', 'Test Website'); 
+0

這不會返回一組網站嗎?最有可能的是一個項目集合,當然,但我想象得到實際的網站對象,你需要添加getFirstItem(): '$ site = Mage :: getResourceModel('core/website_collection') - > addFieldToFilter('name','Test Website') - > getFirstItem();' –

3

您好檢查下面的代碼,可以幫助你

Storeid:-Mage::app()->getStore()->getStoreId(); 
Storecode:-Mage::app()->getStore()->getCode(); 
Store Name:-Mage::app()->getStore()->getName(); 
Website Id:-Mage::app()->getStore()->getWebsiteId(); 
Store Group Name:-Mage::app()->getWebsite()->getName(); 
+0

謝謝,但這並不完全符合我的需要。我正在尋找一種方法讓對象獲得這個名字。我有一個對象名稱(即網站名稱),我希望從名稱中獲取相關對象。是的,我可以獲得一個集合,遍歷它直到名稱匹配。但是我正在尋找一種很酷的方式來找到名稱爲對象的對象。 –