改變產品在後臺,你可以通過一個storeview產品設置不同的設置。 但是,你怎麼能由storeview獲得這些產品。 獲得一個產品可以做這樣的,但如何從不同的storeview如何通過storeview在Magento 2
$product = $objectManager->create('Magento\Catalog\Model\Product')->load($product->getId());
改變產品在後臺,你可以通過一個storeview產品設置不同的設置。 但是,你怎麼能由storeview獲得這些產品。 獲得一個產品可以做這樣的,但如何從不同的storeview如何通過storeview在Magento 2
$product = $objectManager->create('Magento\Catalog\Model\Product')->load($product->getId());
使用->setStoreId(0)
單品
獲取產品數據以通過storeview使用加載的單品此代碼
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$product = $objectManager->create('Magento\Catalog\Model\Product')->setStoreId(0)->load($product->getId());
產品集
要由storeview加載多個產品,你可以使用該產品集合是這樣的:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$collection = $productCollection->create()
->addAttributeToSelect('*')
->setStoreId(0)
->load();
變化->setStoreId(0
)的0
您storeview ID
使用商店ID 0
改變TE產品默認數據
對方回答這裏使用ŧ他直接的ObjectManager和過時的加載功能,因此對於更多最佳實踐方法,您可以使用ProductRepositoryInterface到一個特定的商店範圍內裝載的產品。
注入ProductRepositoryInterface的實例(例如稱爲$ _productRepository)到類後,使用以下以$ STOREID設置爲所需的商店視圖的ID。
$oProduct = $_productRepository->get('mysku',false, $storeId, false);
或由ID獲取:
$oProduct = $_productRepository->getById($productId,false, $storeId, false);
我想看看[這裏](http://stackoverflow.com/review/suggested-edits/14732149),看看推薦的變化盧卡製作。您通過ID獲取的函數可能是錯誤的。 – FrankerZ
@FrankerZ爲什麼你拒絕它?馬特O功能由ID獲取是錯誤的100%,我測試,它必須是getById(),只看到'\供應商\的magento \模塊的產品目錄\阿比\ ProductRepositoryInterface.php' –
@LucaS見[此]( http://meta.stackexchange.com/a/164449/295637)回答。 – FrankerZ