本文整理匯總了PHP中Magento\Catalog\Model\Resource\Product\Collection::getStoreId方法的典型用法代碼示例。如果您正苦於以下問題:PHP Collection::getStoreId方法的具體用法?PHP Collection::getStoreId怎麽用?PHP Collection::getStoreId使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Magento\Catalog\Model\Resource\Product\Collection
的用法示例。
在下文中一共展示了Collection::getStoreId方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: addIsInStockFilterToCollection
/**
* Add only is in stock products filter to product collection
*
* @param \Magento\Catalog\Model\Resource\Product\Collection $collection
* @return $this
*/
public function addIsInStockFilterToCollection($collection)
{
$websiteId = $this->_storeManager->getStore($collection->getStoreId())->getWebsiteId();
$joinCondition = $this->_getReadAdapter()->quoteInto('e.entity_id = stock_status_index.product_id' . ' AND stock_status_index.website_id = ?', $websiteId);
$joinCondition .= $this->_getReadAdapter()->quoteInto(' AND stock_status_index.stock_id = ?', Stock::DEFAULT_STOCK_ID);
$collection->getSelect()->join(array('stock_status_index' => $this->getMainTable()), $joinCondition, array())->where('stock_status_index.stock_status=?', Stock\Status::STATUS_IN_STOCK);
return $this;
}
示例2: addStockStatusToProducts
/**
* Add information about stock status to product collection
*
* @param \Magento\Catalog\Model\Resource\Product\Collection $productCollection
* @param int|null $websiteId
* @param int|null $stockId
* @return $this
*/
public function addStockStatusToProducts($productCollection, $websiteId = null, $stockId = null)
{
if ($stockId === null) {
$stockId = Stock::DEFAULT_STOCK_ID;
}
if ($websiteId === null) {
$websiteId = $this->_storeManager->getStore()->getWebsiteId();
if ((int) $websiteId == 0 && $productCollection->getStoreId()) {
$websiteId = $this->_storeManager->getStore($productCollection->getStoreId())->getWebsiteId();
}
}
$productIds = array();
foreach ($productCollection as $product) {
$productIds[] = $product->getId();
}
if (!empty($productIds)) {
$stockStatuses = $this->getProductStockStatus($productIds, $websiteId, $stockId);
foreach ($stockStatuses as $productId => $status) {
if ($product = $productCollection->getItemById($productId)) {
$product->setIsSalable($status);
}
}
}
return $this;
}