Shopware 6中如何获取销售渠道url?

How to get the sales channel url in Shopware 6?

如何在 Shopware 6 php 中获取销售渠道 URL,例如在计划任务中。哪个对象保留此类信息?

销售渠道的 URL 存储在关联的 SalesChannelDomainEntity 对象中。它是一对多关联,因此一个销售渠道可以有多个域。

例如要获取第一个域的 URL 使用:

$url = $salesChannel->getDomains()->first()->getUrl();

我实际上找到了获取所有 url 的方法:

// retrieve all urls
        $urls = [];
        $salesChannelRepository = $this->container->get('sales_channel.repository');
        $criteria = new Criteria();
        $criteria->addAssociation('domains');
        $salesChannelIds = $salesChannelRepository->search($criteria, Context::createDefaultContext());
        foreach($salesChannelIds->getEntities()->getElements() as $key => $salesChannel){
            foreach($salesChannel->getDomains()->getElements() as $element){
                array_push($urls, $element->getUrl());
            }
        }