2016-08-24 16 views
0

バックエンドでは、店舗ビューで商品のさまざまな設定を行うことができます。 しかし、どのように店舗ビューでこれらの商品を手に入れることができますか?製品の入手 は、次のように行うことができるが、どのようstoreviewの使用により、単一の製品をロードするには異なるstoreviewmagentoで店舗ビューで商品を変更する方法2

$product = $objectManager->create('Magento\Catalog\Model\Product')->load($product->getId()); 

答えて

0

使用->setStoreId(0)

単一の製品

から製品データを取得しますこのコード

$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); 
$product = $objectManager->create('Magento\Catalog\Model\Product')->setStoreId(0)->load($product->getId()); 

あなたのstoreviewのID

利用ストアに

$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); 
$collection = $productCollection->create() 
       ->addAttributeToSelect('*') 
       ->setStoreId(0) 
       ->load(); 

変更->setStoreId(0中)0:製品のコレクション

がstoreviewで複数の製品をロードするには、このような製品のコレクションを使用することができますid 0 te製品のデフォルトデータを変更する

1

ここでの他の回答はt彼はObjectManagerを直接使用し、非推奨のロード関数を使用するため、ベストプラクティスのアプローチでは、ProductRepositoryInterfaceを使用して特定のストアスコープ内で製品をロードできます。

ProductRepositoryInterfaceのインスタンス(例:$ _productRepository)をクラスに挿入した後、$ storeIdを目的のストアビューのIDに設定して次のコードを使用します。

$oProduct = $_productRepository->get('mysku',false, $storeId, false); 

またはIDで取得する:私は[ここ]を見てしまう

$oProduct = $_productRepository->getById($productId,false, $storeId, false); 
+1

(http://stackoverflow.com/review/suggested-edits/14732149)と推奨変更ルカを参照してください製。 IDで取得する関数が間違っている可能性があります。 – FrankerZ

+0

@FrankerZなぜあなたはそれを拒否したのですか? IDで取得するMatt O関数が間違っている100%、私はそれをテストし、getById()、ちょうど '\ vendor \ magento \ module-catalog \ Api \ ProductRepositoryInterface.php'を参照する必要があります –

+0

@ルーカス[this]( http://meta.stackexchange.com/a/164449/295637)回答。 – FrankerZ

関連する問題