/** * @param Tx_PtExtlist_Domain_Model_List_Header_ListHeader $headers */ public function render() { $columns = $this->arguments['columns']; $options = array(); $selectedOptions = array(); foreach ($columns as $columnIdentifier => $column) { /** @var $column Tx_PtExtlist_Domain_Model_List_Header_HeaderColumn */ if (!($this->columnSelectorConfig->getHideDefaultVisibleInSelector() && $column->getColumnConfig()->getIsVisible())) { $options[$columnIdentifier] = $this->captionRenderer->renderColumnLabel($column); } if ($column->getIsVisible()) { $selectedOptions[] = $columnIdentifier; } } // This hack is needed to be backwards compatible to Fluid 1.3.0 where arguments was an object if (is_a($this->arguments, 'Tx_Fluid_Core_ViewHelper_Arguments')) { $arg = (array) $this->arguments; $arg['multiple'] = 1; $arg['name'] = $this->arguments['name']; $arg['options'] = $options; $arg['value'] = $selectedOptions; $this->arguments = new \TYPO3\CMS\Fluid\Core\ViewHelper\Arguments($arg); } else { $this->arguments['options'] = $options; $this->arguments['value'] = $selectedOptions; } return parent::render(); }