12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Backend\Block\Widget\Grid\Column\Renderer;
- /**
- * Grid column widget for rendering grid cells that contains mapped values
- *
- * @api
- * @deprecated 100.2.0 in favour of UI component implementation
- * @since 100.0.2
- */
- class Options extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\Text
- {
- /**
- * Get options from column
- *
- * @return array
- */
- protected function _getOptions()
- {
- return $this->getColumn()->getOptions();
- }
- /**
- * Render a grid cell as options
- *
- * @param \Magento\Framework\DataObject $row
- * @return string|void
- * @SuppressWarnings(PHPMD.CyclomaticComplexity)
- */
- public function render(\Magento\Framework\DataObject $row)
- {
- $options = $this->_getOptions();
- $showMissingOptionValues = (bool)$this->getColumn()->getShowMissingOptionValues();
- if (!empty($options) && is_array($options)) {
- //transform option format
- $output = [];
- foreach ($options as $option) {
- $output[$option['value']] = $option['label'];
- }
- $value = $row->getData($this->getColumn()->getIndex());
- if (is_array($value)) {
- $res = [];
- foreach ($value as $item) {
- if (isset($output[$item])) {
- $res[] = $this->escapeHtml($output[$item]);
- } elseif ($showMissingOptionValues) {
- $res[] = $this->escapeHtml($item);
- }
- }
- return implode(', ', $res);
- } elseif (isset($output[$value])) {
- return $this->escapeHtml($output[$value]);
- } elseif (in_array($value, $output)) {
- return $this->escapeHtml($value);
- }
- }
- }
- }
|