Как получить информацию о магазине (например, базовый URL магазина) другого магазина в настройке нескольких магазинов для Magento 2


У меня есть несколько магазинов в моей установке Magento 2. Итак, у меня есть 1 базовый URL-адрес в виде http://mystore1.com и сохраните 2 базовых URL-адреса как http://mystore2.com. Как мне динамически получить базовый URL-адрес магазина 2 в файле phtml в магазине 1.

Примечание: $block->getBaseUrl() будет возвращен только текущий URL-адрес магазина. Есть ли такая функция, как getBaseUrl с идентификатором магазина =2?

Author: Khoa TruongDinh, 2016-11-10

3 answers

В вашем пользовательском блоке приведенный ниже код получит базовый URL-адрес магазина, используя идентификатор магазина:

namespace Vendor\Module\Block;

class Store extends \Magento\Framework\View\Element\Template
{
    public function getStoreUrl($storeId)
    {
        return $this->_storeManager->getStore($storeId)->getBaseUrl();
    }
}

В нашем пользовательском phtml мы можем вызвать $block->getStoreUrl($storeId);.

 5
Author: Khoa TruongDinh, 2016-11-11 02:55:59

Попробуйте Это

protected function generateForAllStores()
{
    $urls = [];
    foreach($this->storeManager->getStores() as $store) {
        $urls[] = $this->setUrlRewrite($store->getStoreId());
    }

    return $urls;
}
 1
Author: pevik, 2020-08-06 07:37:59

В файле phtml вы можете вызвать базовый URL-адрес с помощью идентификатора магазина:

$block->getStoreUrl($store_id);
 -1
Author: Ashish Jagnani, 2016-11-11 05:35:01