Magento 2.0 - 如何获取客户多选属性选项值


Magento 2.0 - How to get Customer Multiselect Attribute Options Value

我正在尝试从Magento 2.0 EE上的客户会话获取当前商店范围内的自定义客户属性选项值。

现在我只得到选项 ID:

$objectManager = 'Magento'Framework'App'ObjectManager::getInstance();
$customerSession = $objectManager->get('Magento'Customer'Model'Session');
$customerRepository = $objectManager
    ->get('Magento'Customer'Api'CustomerRepositoryInterface');
$customer = $customerRepository->getById($customerSession->getCustomerId());
$attrValue = $customer->getCustomAttribute('attribute_code')->getValue();

var_dump($attrValue) is string(id1,id2,id3)

如何获取这些选项的前端文本值。

我找到了一个解决方案,我不确定是否是一个好的做法......

        $objectManager = 'Magento'Framework'App'ObjectManager::getInstance();
        $customerSession = $objectManager->get('Magento'Customer'Model'Session');
        $customerRepository = $objectManager
            ->get('Magento'Customer'Api'CustomerRepositoryInterface');
        $customer = $customerRepository->getById($customerSession->getCustomerId());
        $model = $objectManager->create('Magento'Eav'Model'ResourceModel'Entity'Attribute'Option'Collection');
        $model->setIdFilter(explode(',',$customer->getCustomAttribute('attribute_code')->getValue()))
            ->setStoreFilter();
        var_dump($model->toOptionArray());