本文整理汇总了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;
}