/** * @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(); }
/** * Set the visibility of columns * * @param Tx_PtExtlist_Domain_Model_List_Header_ListHeader $listHeader */ public function setVisibilityOnListHeader(Tx_PtExtlist_Domain_Model_List_Header_ListHeader $listHeader) { foreach ($listHeader as $columnIdentifier => $headerColumn) { /** @var Tx_PtExtlist_Domain_Model_List_Header_HeaderColumn $headerColumn */ if (in_array($columnIdentifier, $this->selectedColumnIdentifiers)) { $headerColumn->setIsVisible(true); } else { if ($this->configuration->getOnlyShowSelectedColumns()) { $headerColumn->setIsVisible(false); } } } }