141         \
Magento\Eav\Model\Entity\TypeFactory $entityTypeFactory,
   148         \
Magento\Eav\Model\
ResourceModel\Entity\Attribute\Group\CollectionFactory $groupCollectionFactory,
   154         $this->_scopeConfig = $scopeConfig;
   156         $this->_productTypeFactory = $productTypeFactory;
   157         $this->_groupCollectionFactory = $groupCollectionFactory;
   158         $this->_setCollectionFactory = $setCollectionFactory;
   201         if ($this->_storeId === 
null) {
   202             return $this->_storeManager->getStore()->getId();
   212         if ($this->_attributeSetsById) {
   218         $this->_attributeSetsById = [];
   219         $this->_attributeSetsByName = [];
   236         if (!is_numeric(
$id)) {
   256         if (is_numeric(
$name)) {
   275         if ($this->_attributeGroupsById) {
   281         $this->_attributeGroupsById = [];
   282         $this->_attributeGroupsByName = [];
   299         if (!is_numeric(
$id)) {
   320         if (is_numeric(
$name)) {
   340         if ($this->_productTypesById) {
   344         $productTypeCollection = $this->_productTypeFactory->create()->getOptionArray();
   346         $this->_productTypesById = [];
   347         $this->_productTypesByName = [];
   348         foreach ($productTypeCollection as 
$id => 
$type) {
   350             $this->_productTypesById[
$id] = 
$name;
   351             $this->_productTypesByName[strtolower(
$name)] = 
$id;
   362         if (is_numeric(
$name)) {
   369         return isset($this->_productTypesByName[
$name]) ? $this->_productTypesByName[
$name] : 
false;
   378         if (!is_numeric(
$id)) {
   384         return $this->_productTypesById[
$id] ?? 
false;
   409         if ($this->_productAttributes === 
null) {
   422         return $this->_configFactory->create();
   432         if ($this->_usedInProductListing === 
null) {
   433             $this->_usedInProductListing = [];
   439                 $this->_usedInProductListing[
$attributeCode] = $this->_eavConfig->getAttribute(
   455         if ($this->_usedForSortBy === 
null) {
   456             $this->_usedForSortBy = [];
   493         return $this->_scopeConfig->getValue(
   494             self::XML_PATH_LIST_DEFAULT_SORT_BY,
   495             \
Magento\Store\Model\ScopeInterface::SCOPE_STORE,
 
$entityTypeCollectionFactory
getAttributesUsedForSortBy()
getAttributeSetName($entityTypeId, $id)
getAttributeGroupId($attributeSetId, $name)
getAttributeGroupName($attributeSetId, $id)
getAttributeSetId($entityTypeId, $name=null)
getAttributesUsedInProductListing()
const XML_PATH_LIST_DEFAULT_SORT_BY
getAttributeUsedForSortByArray()
getProductListDefaultSortBy($store=null)
getSourceOptionId($source, $value)
if(!isset($_GET['name'])) $name
__construct(\Magento\Framework\App\CacheInterface $cache, \Magento\Eav\Model\Entity\TypeFactory $entityTypeFactory, \Magento\Eav\Model\ResourceModel\Entity\Type\CollectionFactory $entityTypeCollectionFactory, \Magento\Framework\App\Cache\StateInterface $cacheState, \Magento\Framework\Validator\UniversalFactory $universalFactory, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Catalog\Model\ResourceModel\ConfigFactory $configFactory, \Magento\Catalog\Model\Product\TypeFactory $productTypeFactory, \Magento\Eav\Model\ResourceModel\Entity\Attribute\Group\CollectionFactory $groupCollectionFactory, \Magento\Eav\Model\ResourceModel\Entity\Attribute\Set\CollectionFactory $setCollectionFactory, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Eav\Model\Config $eavConfig, SerializerInterface $serializer=null)