Spamworldpro Mini Shell
Spamworldpro


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-catalog-search/Model/Search/RequestGenerator/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/magento/module-catalog-search/Model/Search/RequestGenerator/Decimal.php
<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
declare(strict_types=1);

namespace Magento\CatalogSearch\Model\Search\RequestGenerator;

use Magento\Catalog\Model\ResourceModel\Eav\Attribute;
use Magento\Framework\Search\Request\BucketInterface;
use Magento\Framework\Search\Request\FilterInterface;

/**
 * Catalog search range request generator.
 */
class Decimal implements GeneratorInterface
{
    /**
     * Price attribute aggregation algorithm
     */
    private const AGGREGATION_ALGORITHM_VARIABLE = 'price_dynamic_algorithm';

    /**
     * Default decimal attribute aggregation algorithm
     */
    private const DEFAULT_AGGREGATION_ALGORITHM = 'manual';

    /**
     * @inheritdoc
     */
    public function getFilterData(Attribute $attribute, $filterName)
    {
        return [
            'type' => FilterInterface::TYPE_RANGE,
            'name' => $filterName,
            'field' => $attribute->getAttributeCode(),
            'from' => '$' . $attribute->getAttributeCode() . '.from$',
            'to' => '$' . $attribute->getAttributeCode() . '.to$',
        ];
    }

    /**
     * @inheritdoc
     */
    public function getAggregationData(Attribute $attribute, $bucketName)
    {
        return [
            'type' => BucketInterface::TYPE_DYNAMIC,
            'name' => $bucketName,
            'field' => $attribute->getAttributeCode(),
            'method' => $attribute->getFrontendInput() === 'price'
                ? '$' . self::AGGREGATION_ALGORITHM_VARIABLE . '$'
                : self::DEFAULT_AGGREGATION_ALGORITHM,
            'metric' => [['type' => 'count']],
        ];
    }
}

Spamworldpro Mini