/** * Factory method for filter boxes. Returns filterbox for a given filterbox configuration and list identifier * * @param Tx_PtExtlist_Domain_Configuration_Filters_FilterboxConfig $filterboxConfiguration * @return Tx_PtExtlist_Domain_Model_Filter_Filterbox */ public function createInstance(Tx_PtExtlist_Domain_Configuration_Filters_FilterboxConfig $filterboxConfiguration) { Tx_PtExtbase_Assertions_Assert::isNotEmptyString($filterboxConfiguration->getListIdentifier(), array('message' => 'List identifier must not be empty 1277889458')); $filterbox = $this->objectManager->get('Tx_PtExtlist_Domain_Model_Filter_Filterbox'); /* @var $filterbox Tx_PtExtlist_Domain_Model_Filter_Filterbox */ $filterbox->_injectFilterboxConfiguration($filterboxConfiguration); $filterbox->_injectFilterboxFactory($this); foreach ($filterboxConfiguration as $filterConfiguration) { $filter = $this->filterFactory->createInstance($filterConfiguration); $filter->_injectFilterbox($filterbox); $filterbox->addFilter($filter, $filter->getFilterIdentifier()); } $sessionPersistenceManager = $this->sessionPersistenceManagerBuilder->getInstance(); $sessionPersistenceManager->registerObjectAndLoadFromSession($filterbox); return $filterbox; }
/** * Injects filterbox configuration * * @param Tx_PtExtlist_Domain_Configuration_Filters_FilterboxConfig $filterboxConfiguration */ public function _injectFilterboxConfiguration(Tx_PtExtlist_Domain_Configuration_Filters_FilterboxConfig $filterboxConfiguration) { $this->filterBoxConfig = $filterboxConfiguration; $this->listIdentifier = $filterboxConfiguration->getListIdentifier(); $this->filterboxIdentifier = $filterboxConfiguration->getFilterboxIdentifier(); }