/**
  * @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();
 }
Пример #2
0
 /**
  * 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);
             }
         }
     }
 }