SubTotals.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Backend\Model\Widget\Grid;
  7. /**
  8. * @api
  9. * @since 100.0.2
  10. */
  11. class SubTotals extends \Magento\Backend\Model\Widget\Grid\AbstractTotals
  12. {
  13. /**
  14. * Count collection column sum based on column index
  15. *
  16. * @param string $index
  17. * @param \Magento\Framework\Data\Collection $collection
  18. * @return float|int
  19. */
  20. protected function _countSum($index, $collection)
  21. {
  22. $sum = 0;
  23. foreach ($collection as $item) {
  24. $sum += $item[$index];
  25. }
  26. return $sum;
  27. }
  28. /**
  29. * Count collection column average based on column index
  30. *
  31. * @param string $index
  32. * @param \Magento\Framework\Data\Collection $collection
  33. * @return float|int
  34. */
  35. protected function _countAverage($index, $collection)
  36. {
  37. $itemsCount = count($collection);
  38. return $itemsCount ? $this->_countSum($index, $collection) / $itemsCount : $itemsCount;
  39. }
  40. }