Options.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\CatalogSearch\Model\Adapter;
  7. use Magento\Framework\App\Config\ScopeConfigInterface;
  8. use Magento\Framework\Search\Adapter\OptionsInterface;
  9. use Magento\Store\Model\ScopeInterface;
  10. /**
  11. * Catalog search config.
  12. *
  13. * @api
  14. * @since 100.0.2
  15. */
  16. class Options implements OptionsInterface
  17. {
  18. const XML_PATH_INTERVAL_DIVISION_LIMIT = 'catalog/layered_navigation/interval_division_limit';
  19. const XML_PATH_RANGE_STEP = 'catalog/layered_navigation/price_range_step';
  20. const XML_PATH_RANGE_MAX_INTERVALS = 'catalog/layered_navigation/price_range_max_intervals';
  21. /**
  22. * @var ScopeConfigInterface
  23. */
  24. private $scopeConfig;
  25. /**
  26. * @param ScopeConfigInterface $scopeConfig
  27. */
  28. public function __construct(ScopeConfigInterface $scopeConfig)
  29. {
  30. $this->scopeConfig = $scopeConfig;
  31. }
  32. /**
  33. * @inheritdoc
  34. */
  35. public function get()
  36. {
  37. return [
  38. 'interval_division_limit' => (int)$this->scopeConfig->getValue(
  39. self::XML_PATH_INTERVAL_DIVISION_LIMIT,
  40. ScopeInterface::SCOPE_STORE
  41. ),
  42. 'range_step' => (double)$this->scopeConfig->getValue(
  43. self::XML_PATH_RANGE_STEP,
  44. ScopeInterface::SCOPE_STORE
  45. ),
  46. 'min_range_power' => 10,
  47. 'max_intervals_number' => (int)$this->scopeConfig->getValue(
  48. self::XML_PATH_RANGE_MAX_INTERVALS,
  49. ScopeInterface::SCOPE_STORE
  50. )
  51. ];
  52. }
  53. }