本文整理汇总了PHP中Magento\Eav\Model\Config::importAttributesData方法的典型用法代码示例。如果您正苦于以下问题:PHP Config::importAttributesData方法的具体用法?PHP Config::importAttributesData怎么用?PHP Config::importAttributesData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Eav\Model\Config
的用法示例。
在下文中一共展示了Config::importAttributesData方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getAttributesUsedInRecommender
/**
* Retrieve Attributes used in product listing
*
* @return array
*/
public function getAttributesUsedInRecommender()
{
if ($this->_usedInRecommender === null) {
$this->_usedInRecommender = [];
$entityType = \Magento\Catalog\Model\Product::ENTITY;
$attributesData = $this->_getResource()->getAttributesUsedInRecommender();
$this->_eavConfig->importAttributesData($entityType, $attributesData);
foreach ($attributesData as $attributeData) {
$attributeCode = $attributeData['attribute_code'];
$this->_usedInRecommender[$attributeCode] = $this->_eavConfig->getAttribute($entityType, $attributeCode);
}
}
return $this->_usedInRecommender;
}
示例2: getAttributeCodes
/**
* Retrieve attribute codes using for flat
*
* @return array
*/
public function getAttributeCodes()
{
if ($this->_attributeCodes === null) {
$adapter = $this->_resource->getConnection('read');
$this->_attributeCodes = [];
foreach ($this->_flatAttributeGroups as $attributeGroupName) {
$attributes = $this->_attributeConfig->getAttributeNames($attributeGroupName);
$this->_systemAttributes = array_unique(array_merge($attributes, $this->_systemAttributes));
}
$bind = ['backend_type' => \Magento\Eav\Model\Entity\Attribute\AbstractAttribute::TYPE_STATIC, 'entity_type_id' => $this->getEntityTypeId()];
$select = $adapter->select()->from(['main_table' => $this->getTable('eav_attribute')])->join(['additional_table' => $this->getTable('catalog_eav_attribute')], 'additional_table.attribute_id = main_table.attribute_id')->where('main_table.entity_type_id = :entity_type_id');
$whereCondition = ['main_table.backend_type = :backend_type', $adapter->quoteInto('additional_table.is_used_for_promo_rules = ?', 1), $adapter->quoteInto('additional_table.used_in_product_listing = ?', 1), $adapter->quoteInto('additional_table.used_for_sort_by = ?', 1), $adapter->quoteInto('main_table.attribute_code IN(?)', $this->_systemAttributes)];
if ($this->isAddFilterableAttributes()) {
$whereCondition[] = $adapter->quoteInto('additional_table.is_filterable > ?', 0);
}
$select->where(implode(' OR ', $whereCondition));
$attributesData = $adapter->fetchAll($select, $bind);
$this->_eavConfig->importAttributesData($this->getEntityType(), $attributesData);
foreach ($attributesData as $data) {
$this->_attributeCodes[$data['attribute_id']] = $data['attribute_code'];
}
unset($attributesData);
}
return $this->_attributeCodes;
}
示例3: getAttributesUsedForSortBy
/**
* Retrieve Attributes array used for sort by
*
* @return array
*/
public function getAttributesUsedForSortBy()
{
if (is_null($this->_usedForSortBy)) {
$this->_usedForSortBy = array();
$entityType = \Magento\Catalog\Model\Product::ENTITY;
$attributesData = $this->_getResource()->getAttributesUsedForSortBy();
$this->_eavConfig->importAttributesData($entityType, $attributesData);
foreach ($attributesData as $attributeData) {
$attributeCode = $attributeData['attribute_code'];
$this->_usedForSortBy[$attributeCode] = $this->_eavConfig->getAttribute($entityType, $attributeCode);
}
}
return $this->_usedForSortBy;
}