![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-customer/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Customer\Model; use Magento\Eav\Model\Entity\Attribute\AbstractAttribute; /** * Attribute Metadata data provider class */ class AttributeMetadataDataProvider { /** * @var \Magento\Eav\Model\Config */ private $eavConfig; /** * @var \Magento\Customer\Model\ResourceModel\Form\Attribute\CollectionFactory */ private $attrFormCollectionFactory; /** * @var \Magento\Store\Model\StoreManager */ private $storeManager; /** * Initialize data provider with data source * * @param \Magento\Eav\Model\Config $eavConfig * @param \Magento\Customer\Model\ResourceModel\Form\Attribute\CollectionFactory $attrFormCollectionFactory * @param \Magento\Store\Model\StoreManager $storeManager */ public function __construct( \Magento\Eav\Model\Config $eavConfig, \Magento\Customer\Model\ResourceModel\Form\Attribute\CollectionFactory $attrFormCollectionFactory, \Magento\Store\Model\StoreManager $storeManager ) { $this->eavConfig = $eavConfig; $this->attrFormCollectionFactory = $attrFormCollectionFactory; $this->storeManager = $storeManager; } /** * Get attribute model for a given entity type and code * * @param string $entityType * @param string $attributeCode * @return false|AbstractAttribute */ public function getAttribute($entityType, $attributeCode) { return $this->eavConfig->getAttribute($entityType, $attributeCode); } /** * Get all attribute codes for a given entity type and attribute set * * @param string $entityType * @param int $attributeSetId * @param string|null $storeId * @return array Attribute codes */ public function getAllAttributeCodes($entityType, $attributeSetId = 0, $storeId = null) { if (null === $storeId) { $storeId = $this->storeManager->getStore()->getId(); } $object = new \Magento\Framework\DataObject( [ 'store_id' => $storeId, 'attribute_set_id' => $attributeSetId, ] ); return $this->eavConfig->getEntityAttributeCodes($entityType, $object); } /** * Load collection with filters applied * * @param string $entityType * @param string $formCode * @return \Magento\Customer\Model\ResourceModel\Form\Attribute\Collection */ public function loadAttributesCollection($entityType, $formCode) { $attributesFormCollection = $this->attrFormCollectionFactory->create(); $attributesFormCollection->setStore($this->storeManager->getStore()) ->setEntityType($entityType) ->addFormCodeFilter($formCode) ->setSortOrder(); return $attributesFormCollection; } }