2013-12-23 47 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

谢谢,但这并不完全符合我的需要。我正在寻找一种方法让对象获得这个名字。我有一个对象名称(即网站名称),我希望从名称中获取相关对象。是的,我可以获得一个集合,遍历它直到名称匹配。但是我正在寻找一种很酷的方式来找到名称为对象的对象。 –