本文整理汇总了PHP中Magento\Catalog\Model\Resource\Product\Collection::addAttributeToSelect方法的典型用法代码示例。如果您正苦于以下问题:PHP Collection::addAttributeToSelect方法的具体用法?PHP Collection::addAttributeToSelect怎么用?PHP Collection::addAttributeToSelect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Catalog\Model\Resource\Product\Collection
的用法示例。
在下文中一共展示了Collection::addAttributeToSelect方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testStoreDependentAttributeValue
/**
* @magentoDataFixture Magento/Catalog/_files/product_simple_multistore.php
* @magentoConfigFixture current_store customer/account_share/scope 0
*/
public function testStoreDependentAttributeValue()
{
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
/** @var \Magento\Store\Model\Store $store */
$store = $objectManager->create('Magento\\Store\\Model\\Store');
$store->load('fixturestore', 'code');
$product = $this->_collection->addAttributeToSelect('name')->load()->getFirstItem();
$this->assertEquals('Simple Product One', $product->getName());
$product = $this->_collection->clear()->addAttributeToSelect('name')->addStoreFilter($store)->load()->getFirstItem();
$this->assertEquals("StoreTitle", $product->getName());
}
示例2: getProducts
/**
* Get products by IDs
* @param array $productIds
* @param null|int $chunkSize
* @param bool $filterVisibility
* @return \Magento\Catalog\Model\Resource\Product\Collection
*/
public function getProducts(array $productIds = [], $chunkSize = null, $filterVisibility = true)
{
$this->_productCollection->addAttributeToSelect('sku')->addAttributeToSelect($this->_config->getProductAttributes())->addAttributeToSelect('status')->addAttributeToSelect('visibility');
if ($filterVisibility) {
$this->_productCollection->addAttributeToFilter('visibility', ['in' => [Visibility::VISIBILITY_IN_CATALOG, Visibility::VISIBILITY_BOTH]])->addAttributeToFilter('status', Status::STATUS_ENABLED);
}
if (!empty($productIds)) {
$this->_productCollection->addIdFilter($productIds);
}
if ($chunkSize !== null) {
$this->_productCollection->setPageSize($chunkSize);
}
return $this->_productCollection;
}
示例3: collectValidatedAttributes
/**
* Collect validated attributes
*
* @param \Magento\Catalog\Model\Resource\Product\Collection $productCollection
* @return $this
*/
public function collectValidatedAttributes($productCollection)
{
$attribute = $this->getAttribute();
if ('category_ids' != $attribute) {
if ($this->getAttributeObject()->isScopeGlobal()) {
$attributes = $this->getRule()->getCollectedAttributes();
$attributes[$attribute] = true;
$this->getRule()->setCollectedAttributes($attributes);
$productCollection->addAttributeToSelect($attribute, 'left');
} else {
$this->_entityAttributeValues = $productCollection->getAllAttributeValues($attribute);
}
}
return $this;
}
示例4: filter
/**
* @param \Magento\Catalog\Model\Resource\Product\Collection $collection
* @param \Magento\Catalog\Model\Category $category
* @return void
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function filter($collection, \Magento\Catalog\Model\Category $category)
{
$collection->addAttributeToSelect($this->catalogConfig->getProductAttributes())->addSearchFilter($this->helper->getQuery()->getQueryText())->setStore($this->storeManager->getStore())->addMinimalPrice()->addFinalPrice()->addTaxPercents()->addStoreFilter()->addUrlRewrite()->setVisibility($this->productVisibility->getVisibleInSearchIds());
}
示例5: filter
/**
* @param \Magento\Catalog\Model\Resource\Product\Collection $collection
* @param \Magento\Catalog\Model\Category $category
* @return void
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function filter($collection, \Magento\Catalog\Model\Category $category)
{
$collection->addAttributeToSelect($this->catalogConfig->getProductAttributes())->addFieldsToFilter($this->_registry->registry('advanced_search_conditions'))->setStore($this->storeManager->getStore())->addMinimalPrice()->addTaxPercents()->addStoreFilter()->setVisibility($this->productVisibility->getVisibleInSearchIds());
}
示例6: addGlobalAttribute
/**
* @param \Magento\Catalog\Model\Resource\Eav\Attribute $attribute
* @param \Magento\Catalog\Model\Resource\Product\Collection $collection
* @return $this
*/
protected function addGlobalAttribute(\Magento\Catalog\Model\Resource\Eav\Attribute $attribute, \Magento\Catalog\Model\Resource\Product\Collection $collection)
{
$storeId = $this->storeManager->getStore()->getId();
switch ($attribute->getBackendType()) {
case 'decimal':
case 'datetime':
case 'int':
$alias = 'at_' . $attribute->getAttributeCode();
$collection->addAttributeToSelect($attribute->getAttributeCode(), 'inner');
break;
default:
$alias = 'at_' . md5($this->getId()) . $attribute->getAttributeCode();
$collection->getSelect()->join([$alias => $collection->getTable('catalog_product_index_eav')], "({$alias}.entity_id = e.entity_id) AND ({$alias}.store_id = {$storeId})" . " AND ({$alias}.attribute_id = {$attribute->getId()})", []);
}
$this->joinedAttributes[$attribute->getAttributeCode()] = $alias;
return $this;
}