/** * Convert the list structure of "rows->columns->data" to an array * of 'columns->rows->data' for easy aggregate * * @param string $fieldIdentifier * @return array */ protected function buildFieldData($fieldIdentifier) { $fieldData[$fieldIdentifier] = array(); foreach ($this->dataBackend->getListData() as $row) { $this->fieldData[$fieldIdentifier][] = $row[$fieldIdentifier]->getValue(); } }
/** * Returns a full featured list object. * * @param Tx_PtExtlist_Domain_DataBackend_DataBackendInterface $dataBackend * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @param boolean $resetList * @return Tx_PtExtlist_Domain_Model_List_List */ public function createList(Tx_PtExtlist_Domain_DataBackend_DataBackendInterface $dataBackend, Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, $resetList = false) { $list = new Tx_PtExtlist_Domain_Model_List_List(); // We have to build headers here, as they are no longer created by data backend $listHeader = $this->listHeaderFactory->createInstance($configurationBuilder, $resetList); $list->setListHeader($listHeader); $list->setRendererChain($this->rendererChainFactory->getRendererChain($configurationBuilder->buildRendererChainConfiguration())); if ($configurationBuilder->buildListConfiguration()->getUseIterationListData()) { $list->setIterationListData($dataBackend->getIterationListData()); $list->setUseIterationListData(TRUE); } else { if ($resetList) { $dataBackend->resetListDataCache(); } $list->setListData($dataBackend->getListData()); } $list->setAggregateListData(self::buildAggregateListData($dataBackend, $configurationBuilder)); return $list; }