php - 使这个 Magento 嵌套循环更好

标签 php magento foreach nested-loops

我正在尝试获取 Magento 商店上的所有商店。我所说的所有商店是指所有网站上的所有商店。我编写了这段代码并且它有效,但我有点担心嵌套 foreach 循环的复杂性。请看一下它,如果您认为我可以做一些不同的事情,请告诉我。

public function getAllStoresCustom(){

    $all_stores = array();

        foreach (Mage::app()->getWebsites() as $website) {
            foreach ($website->getGroups() as $group) {
                $all_stores [] = $group->getStores();      
            }
        }

    return $all_stores;
}

我只在 Magento 中找到了这些功能,所以我想我必须使用这些功能,而这似乎是唯一有效的组合。

非常感谢

最佳答案

试试这个:

$allStores = Mage::getModel('core/store')->getCollection();

然后在需要时循环遍历$allStores

foreach ($allStores as $store) {
   //do something with $store
}

注意:您将获得一个 ID 为 0 的商店。这是管理商店 View 。如果您希望所有商店都没有管理商店 View ,请使用以下命令:

$allStores = Mage::getModel('core/store')->getCollection()->setWithoutDefaultFilter()

关于php - 使这个 Magento 嵌套循环更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21630153/

相关文章:

php - 使用 Dreamweaver 将多个检查值插入到一个数据库字段中

php - 在 SQL 中联合还是单独查询然后使用 php array_merge 更好?

MySQL/PHP - 根据日期更改状态

magento - 更改 Magento 产品的属性集。

php - 如何使用数据库将已构建的 Magento 项目加载到本地主机?

php - 在 php 中循环添加数组键

php - 未进入 foreach 循环

java - 为什么在此示例中我没有收到 java.util.ConcurrentModificationException?

php - 捕获正则表达式编译错误

php - Laravel 5 列出 htmlentities() 期望参数 1 为字符串