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)