本文整理汇总了PHP中Mage_Catalog_Model_Resource_Product_Collection::getStoreId方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Catalog_Model_Resource_Product_Collection::getStoreId方法的具体用法?PHP Mage_Catalog_Model_Resource_Product_Collection::getStoreId怎么用?PHP Mage_Catalog_Model_Resource_Product_Collection::getStoreId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Catalog_Model_Resource_Product_Collection
的用法示例。
在下文中一共展示了Mage_Catalog_Model_Resource_Product_Collection::getStoreId方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addIsInStockFilterToCollection
/**
* Add only is in stock products filter to product collection
*
* @param Mage_Catalog_Model_Resource_Product_Collection $collection
*
* @return Mage_CatalogInventory_Model_Resource_Stock_Status
*/
public function addIsInStockFilterToCollection($collection)
{
$websiteId = Mage::app()->getStore($collection->getStoreId())->getWebsiteId();
$joinCondition = $this->_getReadAdapter()->quoteInto('e.entity_id = status_table_mli.product_id' . ' AND status_table_mli.store_id = ?', Mage::app()->getStore()->getId());
$collection->getSelect()->join(array('status_table_mli' => $this->getTable('demac_multilocationinventory/stock_status_index')), $joinCondition, array())->where('status_table_mli.is_in_stock=1');
return $this;
}
示例2: addIsInStockFilterToCollection
/**
* Add only is in stock products filter to product collection
*
* @param Mage_Catalog_Model_Resource_Product_Collection $collection
* @return Mage_CatalogInventory_Model_Resource_Stock_Status
*/
public function addIsInStockFilterToCollection($collection)
{
$websiteId = Mage::app()->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 = ?', Mage_CatalogInventory_Model_Stock::DEFAULT_STOCK_ID);
$collection->getSelect()->join(array('stock_status_index' => $this->getMainTable()), $joinCondition, array())->where('stock_status_index.stock_status=?', Mage_CatalogInventory_Model_Stock_Status::STATUS_IN_STOCK);
return $this;
}
示例3: addIndexToProductCollection
/**
* Add index select in product collection
*
* @param Mage_Catalog_Model_Resource_Product_Collection $collection
* @param int $customerGroupId
* @return Enterprise_CatalogPermissions_Model_Resource_Permission_Index
*/
public function addIndexToProductCollection($collection, $customerGroupId)
{
$parts = $collection->getSelect()->getPart(Zend_Db_Select::FROM);
if (isset($parts['perm'])) {
return $this;
}
if ($collection->getFlag('disable_root_category_filter')) {
$permColumns = $this->_getPermColumns();
} else {
$permColumns = array('grant_catalog_category_view', 'grant_catalog_product_price', 'grant_checkout_items');
}
$collection->getSelect()->joinLeft(array('perm' => $this->getTable('permission_index')), 'perm.category_id=cat_index.category_id
AND perm.customer_group_id= ' . $customerGroupId . ' AND perm.website_id=' . Mage::app()->getStore()->getWebsiteId(), $permColumns);
if (!Mage::helper('enterprise_catalogpermissions')->isAllowedCategoryView()) {
$collection->getSelect()->where('perm.grant_catalog_category_view = ?', Enterprise_CatalogPermissions_Model_Permission::PERMISSION_ALLOW);
} else {
$collection->getSelect()->where('perm.grant_catalog_category_view != ?' . ' OR perm.grant_catalog_category_view IS NULL', Enterprise_CatalogPermissions_Model_Permission::PERMISSION_DENY);
}
$collection->getSelect()->where('cat_index.store_id=' . $collection->getStoreId());
if ($collection->getFlag('disable_root_category_filter')) {
$collection->getSelect()->where('cat_index.is_parent=1');
$collection->getSelect()->group('cat_index.product_id');
}
if ($this->_isLinkCollection($collection)) {
$collection->getSelect()->where('perm.grant_catalog_product_price!=' . Enterprise_CatalogPermissions_Model_Permission::PERMISSION_DENY . ' OR perm.grant_catalog_product_price IS NULL')->where('perm.grant_checkout_items!=' . Enterprise_CatalogPermissions_Model_Permission::PERMISSION_DENY . ' OR perm.grant_checkout_items IS NULL');
}
return $this;
}
示例4: addPriceIndexToCollection
/**
* Add bundle price range index to Product collection
*
* @param Mage_Catalog_Model_Resource_Product_Collection $collection
* @return Mage_Bundle_Model_Price_Index
*/
public function addPriceIndexToCollection($collection)
{
$productObjects = array();
$productIds = array();
foreach ($collection->getItems() as $product) {
/* @var $product Mage_Catalog_Model_Product */
if ($product->getTypeId() == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE) {
$productIds[] = $product->getEntityId();
$productObjects[$product->getEntityId()] = $product;
}
}
$websiteId = Mage::app()->getStore($collection->getStoreId())->getWebsiteId();
$groupId = Mage::getSingleton('Mage_Customer_Model_Session')->getCustomerGroupId();
$addOptionsToResult = false;
$prices = $this->_getResource()->loadPriceIndex($productIds, $websiteId, $groupId);
foreach ($productIds as $productId) {
if (isset($prices[$productId])) {
$productObjects[$productId]->setData('_price_index', true)->setData('_price_index_min_price', $prices[$productId]['min_price'])->setData('_price_index_max_price', $prices[$productId]['max_price']);
} else {
$addOptionsToResult = true;
}
}
if ($addOptionsToResult) {
$collection->addOptionsToResult();
}
return $this;
}
示例5: addGroupsCatalogFilterToProductCollectionCountSelect
/**
* Inner join the groupscatalog index table to not count products
* not visible to the specified customer group id
*
* @param Mage_Catalog_Model_Resource_Product_Collection $collection
* @param int $groupId
* @return void
*/
public function addGroupsCatalogFilterToProductCollectionCountSelect(Mage_Catalog_Model_Resource_Product_Collection $collection, $groupId)
{
/* @var $helper Netzarbeiter_GroupsCatalog2_Helper_Data */
$helper = Mage::helper('netzarbeiter_groupscatalog2');
// Switch index table depending on the specified entity
$this->_init($helper->getIndexTableByEntityType(Mage_Catalog_Model_Product::ENTITY), 'id');
if ($this->_doesIndexExists()) {
$table = $this->getTable($helper->getIndexTableByEntityType(Mage_Catalog_Model_Product::ENTITY));
$this->_addGroupsCatalogFilterToSelect($collection->getProductCountSelect(), $table, $groupId, $collection->getStoreId());
}
}
示例6: addStockStatusToProducts
/**
* Add information about stock status to product collection
*
* @param Mage_Catalog_Model_Resource_Product_Collection $productCollection
* @param int|null $websiteId
* @param int|null $stockId
* @return Mage_CatalogInventory_Model_Stock_Status
*/
public function addStockStatusToProducts($productCollection, $websiteId = null, $stockId = null)
{
if ($stockId === null) {
$stockId = Mage_CatalogInventory_Model_Stock::DEFAULT_STOCK_ID;
}
if ($websiteId === null) {
$websiteId = Mage::app()->getStore()->getWebsiteId();
if ((int) $websiteId == 0 && $productCollection->getStoreId()) {
$websiteId = Mage::app()->getStore($productCollection->getStoreId())->getWebsiteId();
}
}
$productIds = array();
foreach ($productCollection as $product) {
$productIds[] = $product->getId();
}
if (!empty($productIds)) {
$stockStatuses = $this->_getResource()->getProductStatus($productIds, $websiteId, $stockId);
foreach ($stockStatuses as $productId => $status) {
if ($product = $productCollection->getItemById($productId)) {
$product->setIsSalable($status);
}
}
}
/* back compatible stock item */
foreach ($productCollection as $product) {
$object = new Varien_Object(array('is_in_stock' => $product->getData('is_salable')));
$product->setStockItem($object);
}
return $this;
}
示例7: _processProductCollection
/**
* Process all of the products within a given store.
*
* @param Mage_Catalog_Model_Resource_Product_Collection $products products for a specific store
* @param EbayEnterprise_Catalog_Model_Pim_Product_Collection $pimProducts collection of PIM Product instances
* @param string $key
* @param array $productIds
* @return EbayEnterprise_Catalog_Model_Pim_Product_Collection $pimProducts collection of PIM Product instances
*/
protected function _processProductCollection(Mage_Catalog_Model_Resource_Product_Collection $products, EbayEnterprise_Catalog_Model_Pim_Product_Collection $pimProducts, array &$productIds = null)
{
$excludedProductIds = array();
$currentStoreId = $products->getStoreId();
$config = Mage::helper('eb2ccore')->getConfigModel($currentStoreId);
$clientId = $config->clientId;
$catalogId = $config->catalogId;
foreach ($products->getItems() as $product) {
$product->setStoreId($currentStoreId);
$pimProduct = $pimProducts->getItemForProduct($product);
if (!$pimProduct) {
$pimProduct = Mage::getModel('ebayenterprise_catalog/pim_product', array('client_id' => $clientId, 'catalog_id' => $catalogId, 'sku' => $product->getSku()));
$pimProducts->addItem($pimProduct);
}
try {
$pimProduct->loadPimAttributesByProduct($product, $this->_doc, $this->_getFeedConfig(), $this->_getFeedAttributes($currentStoreId));
} catch (EbayEnterprise_Catalog_Model_Pim_Product_Validation_Exception $e) {
$logData = ['sku' => $pimProduct->getSku()];
$logMessage = 'Product "{sku}" excluded from export.';
$this->_logger->warning($logMessage, $this->_context->getMetaData(__CLASS__, $logData));
$this->_logger->logException($e, $this->_context->getMetaData(__CLASS__, [], $e));
$excludedProductIds[] = $product->getId();
$pimProducts->deleteItem($pimProduct);
}
}
if ($productIds) {
$productIds = array_diff($productIds, $excludedProductIds);
}
return $pimProducts;
}
示例8: addGroupsCatalogFilterToProductCollectionCountSelect
/**
* Inner join the groupscatalog index table to not count products
* not visible to the specified customer group id
*
* @param Mage_Catalog_Model_Resource_Product_Collection $collection
* @param int $groupId
* @return void
*/
public function addGroupsCatalogFilterToProductCollectionCountSelect(Mage_Catalog_Model_Resource_Product_Collection $collection, $groupId)
{
$select = $collection->getProductCountSelect();
$storeId = $collection->getStoreId();
$this->addGroupsCatalogProductFilterToSelect($select, $groupId, $storeId);
}
示例9: addIndexToProductCollection
/**
* Add index select in product collection
*
* @param Mage_Catalog_Model_Resource_Product_Collection $collection
* @param int $customerGroupId
* @return Enterprise_CatalogPermissions_Model_Resource_Permission_Index
*/
public function addIndexToProductCollection($collection, $customerGroupId)
{
$adapter = $this->_getReadAdapter();
$parts = $collection->getSelect()->getPart(Zend_Db_Select::FROM);
$conditions = array();
if (isset($parts['cat_index']) && $parts['cat_index']['tableName'] == $this->getTable('catalog/category_product_index')) {
$conditions[] = 'permission_index_product.category_id = cat_index.category_id';
$conditions[] = 'permission_index_product.product_id = cat_index.product_id';
$conditions[] = 'permission_index_product.store_id = cat_index.store_id';
} else {
$conditions[] = 'permission_index_product.category_id IS NULL';
$conditions[] = 'permission_index_product.product_id = e.entity_id';
$conditions[] = $adapter->quoteInto('permission_index_product.store_id = ?', $collection->getStoreId());
}
$conditions[] = $adapter->quoteInto('permission_index_product.customer_group_id = ?', $customerGroupId);
$condition = join(' AND ', $conditions);
if (isset($parts['permission_index_product'])) {
$parts['permission_index_product']['joinCondition'] = $condition;
$collection->getSelect()->setPart(Zend_Db_Select::FROM, $parts);
} else {
$collection->getSelect()->joinLeft(array('permission_index_product' => $this->getTable('permission_index_product')), $condition, array('grant_catalog_category_view', 'grant_catalog_product_price', 'grant_checkout_items'));
if (!Mage::helper('enterprise_catalogpermissions')->isAllowedCategoryView()) {
$collection->getSelect()->where('permission_index_product.grant_catalog_category_view = ?', Enterprise_CatalogPermissions_Model_Permission::PERMISSION_ALLOW);
} else {
$collection->getSelect()->where('permission_index_product.grant_catalog_category_view != ?' . ' OR permission_index_product.grant_catalog_category_view IS NULL', Enterprise_CatalogPermissions_Model_Permission::PERMISSION_DENY);
}
/*
* Checking if passed collection has link model attached
*/
if (method_exists($collection, 'getLinkModel')) {
$linkTypeId = $collection->getLinkModel()->getLinkTypeId();
$linkTypeIds = array(Mage_Catalog_Model_Product_Link::LINK_TYPE_CROSSSELL, Mage_Catalog_Model_Product_Link::LINK_TYPE_UPSELL);
/*
* If collection has appropriate link type (cross-sell or up-sell) we need to
* limit products by permissions (display price and add to cart)
*/
if (in_array($linkTypeId, $linkTypeIds)) {
if (!Mage::helper('enterprise_catalogpermissions')->isAllowedProductPrice()) {
$collection->getSelect()->where('permission_index_product.grant_catalog_product_price = ?', Enterprise_CatalogPermissions_Model_Permission::PERMISSION_ALLOW);
} else {
$collection->getSelect()->where('permission_index_product.grant_catalog_product_price != ?' . ' OR permission_index_product.grant_catalog_product_price IS NULL', Enterprise_CatalogPermissions_Model_Permission::PERMISSION_DENY);
}
if (!Mage::helper('enterprise_catalogpermissions')->isAllowedCheckoutItems()) {
$collection->getSelect()->where('permission_index_product.grant_checkout_items = ?', Enterprise_CatalogPermissions_Model_Permission::PERMISSION_ALLOW);
} else {
$collection->getSelect()->where('permission_index_product.grant_checkout_items != ?' . ' OR permission_index_product.grant_checkout_items IS NULL', Enterprise_CatalogPermissions_Model_Permission::PERMISSION_DENY);
}
}
}
}
return $this;
}