访问产品选项 StoreView 标题

Access Product Option StoreView Title

我需要一些帮助来访问特定 Storeview 的 Magento 2 产品选项标题。

我已将产品选项:“custom_code”(管理员名称)添加到产品。 对于我的德语商店视图,它被称为“Konfigurationscode”。 对于我的英语商店视图,它被称为“自定义代码”。

我已经构建了一个导出脚本并想要访问 cosen 订单项产品选项:

一些修补:

$order = $objectManager->create('Magento\Sales\Model\Order')->load('44');
$items = $order->getAllItems();
$items[0]->getProductOptions();
// ... option_id" => "8",

根据我获得的数据,我知道一个产品选项的 ID 为 8,因此我选择了这个特定的产品选项:

$productOption = $objectManager->create('Magento\Catalog\Model\Product\Option')->load(8);
$productOption->getData();

很遗憾,标题未在数据中列出

[
 "option_id" => "8",
 "product_id" => "28",
 "is_require" => "1",
 "sku" => "5",
...
]

如何获取订单项产品选项的标题?我是如何获得标题的管理员名称而不是德语或英语的?还没找到方法

感谢您的帮助!

好的,我有一个解决方案: 按照建议,我们应该使用存储库 类:

$optionRepository = $objectManager-

>get('\Magento\Catalog\Model\Product\Option\Repository');

$option = $optionRepository->get('product-sku', "8");

$option->getData();

输出:

"default_title" => "custom_code",
 "store_title" => "Konfigurationscode",
 "title" => "Konfigurationscode",

我可以从存储库使用 get() 方法 (https://github.com/magento/magento2/blob/6ce74b2127927f21f7d1efb7b7ef9318b602ce77/app/code/Magento/Catalog/Model/Product/Option.php)

注意:通过构造函数通过依赖注入使用存储库。我使用 objectManager 是因为我 运行 我的代码在一个脚本中。