Gets attributes, which used in product combinations
@return ShopAttribute[]
503119
public function getProductAttributes()
    {
        $attributes = [];
        foreach ($this->combinations as $combination) {
            if (!empty($combination->combinationAttributes)) {
                foreach ($combination->combinationAttributes as $combinationAttribute) {
                    $attributes[] = $combinationAttribute->productAttribute;
                }
            }
        }
        $attributes = ShopArrayHelper::removeDuplicatedArrayElements($attributes);
        return $attributes;
    }
900822
public function getAttributes()
    {
        // Obtain Attributes:
        
        $attributes = $this->getStyleAttributes();
        
        // Obtain Extra Attributes:
        
        $attributes = array_merge($attributes, $this->getExtraAttributes());
        
        // Apply Extensions:
        
        $this->extend('updateAttributes', $attributes);
        
        // Answer Attributes:
        
        return $attributes;
    }
1082509
public function getAttributes()
	{
		$attributes	= $this->attributes;
		$attributes['class']	=  NULL;
		if( !empty( $this->attributes['class'] ) )
			$attributes['class']	=  implode( " ", $this->attributes['class'] );
		return $attributes;
	}
1356560
public function getAttributes()
    {
        return [
            Attributes\IdAttribute::make(),
            Attributes\TextAttribute::make('name')
                ->setUnique(true)
                ->setRequired(true),
            Attributes\EmailAttribute::make('email')
                ->setRequired(true)
                ->setUnique(true),
            Attributes\PasswordAttribute::make('password')
                ->setRequired(true),
            Attributes\BooleanAttribute::make('enabled'),
            Attributes\TextAttribute::make('token')
                ->setDefault(function ($entity, $attribute) {
                    return $attribute->getManager()->getRepository()->generateToken();
                })
                ->setFillable(false),
            Attributes\EnumAttribute::make('role', ['user', 'admin']),
            Attributes\CreatedAtAttribute::make(),
            Attributes\UpdatedAtAttribute::make(),
            Attributes\DeletedAtAttribute::make(),
        ];
    }
1104225
public function getAttributeSource()
    {
        $return  = array();
        $sources = $this->entry->get_source();

        if ($sources !== null) {
            foreach ($sources as $source) {
                $return[] = array(
                    'name' => $this->decodeString($source->get_title()),
                    'link' => $source->get_link()
                );
            }
        }

        return $return;
    }
900729
public function getAttributes(): array
    {
        $attributes = $this->tag->getAttributes();
        foreach ($attributes as $name => $info) {
            $attributes[$name] = $info['value'];
        }

        return $attributes;
    }
498526
public function getAttributes()
    {
        $attributes = parent::getAttributes();

        $types = $this->getTypes();
        if (isset($types)) {
            $attributes['types'] = $types;
        }

        return $attributes;
    }
462046
public function safeAttributes()
    {
        $scenario = $this->getScenario();
        $scenarios = $this->scenarios();
        if (!isset($scenarios[$scenario])) {
            return [];
        }
        $attributes = [];
        foreach ($scenarios[$scenario] as $attribute) {
            if ($attribute[0] !== '!') {
                $attributes[] = $attribute;
            }
        }

        return $attributes;
    }
883528
public function getAttributes()
    {
        $attribs = [];
        foreach (array_keys($this->attributeSetters) as $setter) {
            $attribs[] = $this->getPropertyName($setter, "set");
        }

        return $attribs;
    }
530856
public function getAttributes()
    {
        $sActCat = $this->getId();

        $sKey = md5($sActCat . serialize(\OxidEsales\Eshop\Core\Registry::getSession()->getVariable('session_attrfilter')));
        if (!isset(self::$_aCatAttributes[$sKey])) {
            $oAttrList = oxNew(\OxidEsales\Eshop\Application\Model\AttributeList::class);
            $oAttrList->getCategoryAttributes($sActCat, $this->getLanguage());
            self::$_aCatAttributes[$sKey] = $oAttrList;
        }

        return self::$_aCatAttributes[$sKey];
    }
796299
protected function getArrayableAttributes()
    {
        $attributes              = $this->attributes;
        $attributes['firstname'] = $attributes['first_name'];
        $attributes['lastname']  = $attributes['last_name'];

        return $this->getArrayableItems($attributes);
    }
759586
protected function getAttributes() {
		if (empty($this->_attributes)) {
			foreach ($this->_readonlyAttributes as $attribute => $value) {
				$this->_attributes[$attribute] = $value;
			}

			foreach ($this->_defaultAttributes as $attribute => $value) {
				if(!array_key_exists($attribute, $this->_attributes)) {
					$this->_attributes[$attribute] = $value;
				}
			}
		}

		return $this->_attributes;
	}
960551
public function getAttributes(): array
    {
        $attributes = [];
        foreach ($this->attributes as $attributeName => $attribute) {
            $value = $attribute->value;
            $attributes[$attributeName] = $value !== '' ? (strstr($value, 'html5-dom-document-internal-entity') !== false ? $this->updateResult($value) : $value) : '';
        }
        return $attributes;
    }
1161021
public function getAttributes()
    {
        return [
            Attributes\IdAttribute::make(),
            Attributes\BelongsToAttribute::make('catalogue_id')
                ->setRelationName('catalogue')
                ->setRelationManager(CatalogueManager::class)
                ->setRequired(true),
            Attributes\BelongsToAttribute::make('product_id')
                ->setRelationName('product')
                ->setRelationManager(ProductManager::class)
                ->setRequired(true),
            Attributes\BelongsToAttribute::make('target_id')
                ->setRelationName('target')
                ->setRelationManager(TargetManager::class)
                ->setRequired(true),
            Attributes\BelongsToAttribute::make('tax_id')
                ->setRelationName('tax')
                ->setRelationManager(TaxManager::class)
                ->setRequired(true),
            Attributes\BelongsToAttribute::make('price_rule_id')
                ->setRelationName('price_rule')
                ->setRelationManager(PriceRuleManager::class)
                ->setRequired(true),
            Attributes\NumberAttribute::make('price'),
            Attributes\BelongsToAttribute::make('consume_rule_id')
                ->setRelationName('consume_rule')
                ->setRelationManager(ConsumeRuleManager::class)
                ->setRequired(true),
            Attributes\CreatedAtAttribute::make(),
            Attributes\UpdatedAtAttribute::make(),
            Attributes\DeletedAtAttribute::make(),
        ];
    }
491477
public function toOptionArray()
    {
        $defaultOptions = $this->defaultOptions();
        $productCondition = $this->productFactory;
        $productAttributes = $productCondition->loadAttributeOptions()
            ->getAttributeOption();
        $pAttributes = [];
        foreach ($productAttributes as $code => $label) {
            if (strpos($code, 'quote_item_') === false) {
                $pAttributes[$code] = $label;
            }
        }
        $options = array_merge($defaultOptions, $pAttributes);

        return $options;
    }
522435
public function getAttributes()
    {
        $defaultPrefix = PhoneNumber::config()->get('default_country_code');
        $attributes = [
            'class'       => 'text',
            'placeholder' => _t(
                __CLASS__ . '.Placeholder',
                'Phone number links will be prefixed with +{prefix}',
                ['prefix' => $defaultPrefix]
            ),
        ];

        return array_merge(
            parent::getAttributes(),
            $attributes
        );
    }
1058689
public function getSaleProductsAttributeList()
    {
        $saleProducts = SaleProductQuery::create()->filterBySaleId($this->getId())->orderByProductId()->find();

        $selectedAttributes = [];

        $currentProduct = false;

        /** @var SaleProduct $saleProduct */
        foreach ($saleProducts as $saleProduct) {
            if ($currentProduct != $saleProduct->getProductId()) {
                $currentProduct = $saleProduct->getProductId();

                $selectedAttributes[$currentProduct] = [];
            }

            $selectedAttributes[$currentProduct][] = $saleProduct->getAttributeAvId();
        }

        return $selectedAttributes;
    }