如何获取Magento网站下的商店组列表以及该商店组中的商店列表?获取magento商店列表
回答
尝试使用此方法获得的物品直接
Mage::app()->getWebsites(); < in file > app/code/core/Mage/Core/Model/App.php:920
Mage::app()->getStores(); < in file > app/code/core/Mage/Core/Model/App.php:834
叠代得到一个特定的网站所需要的范围或存储
foreach (Mage::app()->getWebsites() as $website) {
foreach ($website->getGroups() as $group) {
$stores = $group->getStores();
foreach ($stores as $store) {
//$store is a store object
}
}
}
对于未来,如果你也有类似的问题,以下是我发现的这些答案在60秒内。首先,我用grep方法名称或空间相似的方法名之前的方法名,看看那里的方法被定义
grep ' getStores' app/code -rsn
grep ' getWebsites' app/code -rsn
第二步是grep命令使用示例,看看他们是如何通过意味着核心开发人员使用。对于我添加>方法名到grep,这给我在哪里,这种方法被称为和文件的列表,这将给予我们的地方去寻找例子:
grep '>getWebsites' app/code -rsn
安东的答案,而正确的,可重新发明轮子只是一点。 Magento Core已经有一个工具可以检索这类数据。
您可以获取所有网站的列表,以及它们的“孩子”用这样的: Mage::getSingleton('adminhtml/system_store')->getStoresStructure()
您也可以通过websiteIds和StoreID,或storeGroupIds阵列的功能,以过滤列表:
public function getStoresStructure($isAll = false, $storeIds = array(), $groupIds = array(), $websiteIds = array())
输出示例:
Array
(
[1] => Array
(
[value] => 1
[label] => Main Website
[children] => Array
(
[1] => Array
(
[value] => 1
[label] => Madison Island
[children] => Array
(
[1] => Array
(
[value] => 1
[label] => English
)
[2] => Array
(
[value] => 2
[label] => French
)
[3] => Array
(
[value] => 3
[label] => German
)
)
)
)
)
)
有一个类似的用于填充“存储范围”下拉列表和跨越多选择所有管理部分。
Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true)
Array
(
[0] => Array
(
[label] => All Store Views
[value] => 0
)
[1] => Array
(
[label] => Main Website
[value] => Array
(
)
)
[2] => Array
(
[label] => Madison Island
[value] => Array
(
[0] => Array
(
[label] => English
[value] => 1
)
[1] => Array
(
[label] => French
[value] => 2
)
[2] => Array
(
[label] => German
[value] => 3
)
)
)
)
要发现这个问题,我位于具有我想要的数据管理多选,然后我打开模板提示,以找出哪些块类是负责渲染它: Mage_Adminhtml_Block_Cms_Page_Edit_Form
。知道了这一点,我找到了代码库中的类(app/code/core/Mage/Admin/HTML/Block/Cms/Block/Edit/Form.php),并找到了通过搜索其标签来创建输入的部分视图”)。这说明我是如何被提供的输入的值:
$field =$fieldset->addField('store_id', 'multiselect', array(
'name' => 'stores[]',
'label' => Mage::helper('cms')->__('Store View'),
'title' => Mage::helper('cms')->__('Store View'),
'required' => true,
'values' => Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true),
));
的Mage::getSingleton('adminhtml/system_store')
指向类Mage_Adminhtml_Model_System_Store
,在那里我发现了多种类似的方法也可以是有用的。 Have a look for yourself.
'values'=> Mage :: getSingleton('adminhtml/system_store') - > getStoreValuesForForm(false,true),工作过一次! – BENN1TH 2015-08-25 10:28:49
- 1. 获取在商店
- 2. magento商店视图
- 3. Magento - 如何获得商店的国家?
- 4. 如何获得Magento商店货币
- 5. 在ViewController中获取商店
- 6. Magento商店ID在cronjob
- 7. Magento的商店 - 通过
- 8. Magento;派遣多商店
- 9. Magento的商店 - SQL错误
- 10. Magento多商店SSL分享
- 11. Magento的商店 - 扩展
- 12. Magento:在商店代码Dash
- 13. magento多个商店视图
- 14. 如何获取Magento中的主要商店名称?
- 15. Magento后端无法获取商店视图属性值
- 16. 如何获取magento商店的默认结帐网址?
- 17. Magento:从另一家商店获取产品价格?
- 18. 如何在magento中获取商店徽标和图像alt
- 19. 获取已安装的Windows应用商店应用列表
- 20. Android获取非Play商店应用列表
- 21. 商店列表说明
- 22. ExtJs:获取商店创建的商店数据
- 23. 使用opencart获取多商店设置的商店ID
- 24. 商店序列
- 25. 获得类似Google Play商店“列表内列表”的结果
- 26. Java软件商店列表阵列
- 27. 如何从EKEvent商店获取eventIdentifier?
- 28. 从我的AMAZON商店获取产品
- 29. 从json商店获取记录extjs
- 30. Magento的每个商店的不同SKU
非常感谢。这非常有帮助! – Blazo 2011-05-03 10:25:08
将它投票并接受它以供其他人参考,如果它解决了您的问题 – 2011-05-03 10:31:59
是的,它解决了我的问题。再次感谢,以及如何投票,说我需要15声望投票 – Blazo 2011-05-03 10:38:43