Concat.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Backend\Block\Widget\Grid\Column\Renderer;
  7. /**
  8. * Backend grid item renderer concat
  9. *
  10. * @api
  11. * @deprecated 100.2.0 in favour of UI component implementation
  12. * @since 100.0.2
  13. */
  14. class Concat extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\AbstractRenderer
  15. {
  16. /**
  17. * Renders grid column
  18. *
  19. * @param \Magento\Framework\DataObject $row
  20. * @return string
  21. */
  22. public function render(\Magento\Framework\DataObject $row)
  23. {
  24. $dataArr = [];
  25. $column = $this->getColumn();
  26. $methods = $column->getGetter() ?: $column->getIndex();
  27. foreach ($methods as $method) {
  28. if ($column->getGetter()
  29. && is_callable([$row, $method])
  30. && substr_compare('get', $method, 1, 3) !== 0
  31. ) {
  32. $data = call_user_func([$row, $method]);
  33. } else {
  34. $data = $row->getData($method);
  35. }
  36. if (strlen($data) > 0) {
  37. $dataArr[] = $data;
  38. }
  39. }
  40. $data = implode($column->getSeparator(), $dataArr);
  41. return $data;
  42. }
  43. }