访问产品选件StoreView标题

问题描述

在访问特定商店视图的Magento 2产品选项标题时,我需要一些帮助。

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

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

一些修修补补:

curl "http://my_host:my_port/my_table?select=id,lat,long&street_name=\"Reading\"&house_num=\"14\"

从我得到的数据中,我知道一个产品选项的ID为8,所以我选择了这个特定的产品选项:

{"details":"unexpected \"\\\"\" expecting \"not\" or operator (eq,gt,...)","message":"\"Failed to parse filter (\"Reading\")\" (line 1,column 1)"}

不幸的是,标题未在数据中列出

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

如何获取订购商品产品选项的标题?以及如何获得标题管理员名称而不是德语或英语的管理员名称?我还没有找到办法。

感谢您的帮助!

解决方法

好吧,我找到了一个解决方案: 如建议的那样,我们应该使用Repository类:

$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是因为我在一个脚本中运行了代码。