首页>Magento>source

我有几个商店视图代表其他语言,我正在尝试获取由我的网站语言组成的产品属性。 我们如何从管理存储区(商店ID 0)检索产品属性? 我想我明白我们可以在产品中的商店之间切换,但检索到的值不是来自管理商店.我的管理商店产品名称是"一堆香蕉。"

$productId = $observer->getProduct()->getId();
$theProduct = $this->_productRepository->getById($productId);
$theProduct->setStoreId(0); //Set the admin store id
$value = $theProduct->getData('name');

$ value以"Un racimodeplátanos"的形式返回,而不是来自我的管理商店。

我也尝试了这张票中概述的方法。

getAttributeText() 无论用户所在的商店视图如何,都使用默认值

最新回答
  • 2019-12-5
    1 #

    如果你看一下 \Magento\Catalog\Model\ProductRepository ,它的方法是 getById()

    public function getById($productId, $editMode = false, $storeId = null, $forceReload = false)
    

    你会注意到第三个参数定义了storeId.所以,你可以使用类似的东西:

    $this->_productRepository->getById($productId, false, 0);
    

  • Magento Soap API v2 shoppingCartOrder()在折扣金额的情况下不工作
  • magento 1.7:哪个布局是使用的phtml文件