Magento 2获得网站

时间:2016-06-20 15:30:40

标签: php magento2

我试图让所有网站都在自定义模板中使用。我在我的区块中创建了以下内容;

public function getWebsites()
{
   return $this->_storeManager->getWebsites();
}

然后我尝试使用此功能迭代模板中的网站;

<?php foreach ($block->getWebsites() as $website): ?>

当页面尝试加载时,我得到;

警告:为foreach()提供的参数无效

我已尝试过各种可能的变体,但似乎无法让它发挥作用。它在众多论坛中被多次引用作为检索所有网站的正确方法,但它对我来说并不起作用。

如何在模板中获取一系列网站?

1 个答案:

答案 0 :(得分:0)

protected $_storeRepository;

public function __construct(
    \Magento\Framework\App\Helper\Context $context,
    \Magento\Store\Model\StoreRepository $StoreRepository
) {
    parent::__construct($context);
    $this->_storeRepository = $StoreRepository;
}

public function getWebsite()
{
    $stores = $this->_storeRepository->getList();
    $websiteIds = array();
    foreach ($stores as $store) {
        $websiteId = $store["website_id"];
        array_push($websiteIds, $websiteId);
    }

    return $websiteIds;
}