/** * @param $repository * @param $nameSpace * @return Tx_PtExtbase_Tree_Tree */ public function buildTree($repository, $nameSpace) { $treeRepositoryBuilder = Tx_PtExtbase_Tree_TreeRepositoryBuilder::getInstance(); $treeRepositoryBuilder->setNodeRepositoryClassName($repository); $treeRepository = $treeRepositoryBuilder->buildTreeRepository(); return $treeRepository->loadTreeByNamespace($nameSpace); }
/** * Returns singleton instance of this class * * @return Tx_PtExtbase_Tree_TreeRepositoryBuilder */ public static function getInstance() { if (self::$instance === null) { $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager'); self::$instance = $objectManager->get('Tx_PtExtbase_Tree_TreeRepositoryBuilder'); } return self::$instance; }
/** * @return Tx_PtExtbase_Tree_Tree */ protected function buildTree() { $treeRepositoryBuilder = Tx_PtExtbase_Tree_TreeRepositoryBuilder::getInstance(); $treeRepositoryBuilder->setNodeRepositoryClassName($this->treeNodeRepository); $treeRepository = $treeRepositoryBuilder->buildTreeRepository(); // TODO this method does not exist in current treeRepository! if (method_exists($treeRepository, 'setRespectEnableFields')) { $treeRepository->setRespectEnableFields($this->treeRespectEnableFields); } $this->tree = $treeRepository->loadTreeByNamespace($this->treeNamespace); }
/** * Initializes the current action * * @return void */ protected function initializeAction() { if (!TYPO3_AJAX) { die; } $this->restoreTreeSettingsFromSession(); $treeRepositoryBuilder = Tx_PtExtbase_Tree_TreeRepositoryBuilder::getInstance(); $treeRepositoryBuilder->setNodeRepositoryClassName($this->nodeRepositoryClassName); $this->treeRepository = $treeRepositoryBuilder->buildTreeRepository(); $this->nodeRepository = $this->objectManager->get($this->nodeRepositoryClassName); }
/** * Get Tree nodes as JSON array * * @return string JSON array */ protected function getTreeNodes() { $treeRepositoryBuilder = Tx_PtExtbase_Tree_TreeRepositoryBuilder::getInstance(); $treeRepositoryBuilder->setNodeRepositoryClassName($this->arguments['repository']); $treeRepository = $treeRepositoryBuilder->buildTreeRepository(); if ($this->arguments['respectEnableFields']) { $this->treeContext->setRespectEnableFields(true); } else { $this->treeContext->setRespectEnableFields(false); } $tree = $treeRepository->loadTreeByNamespace($this->arguments['namespace']); if (isset($this->arguments['restrictedDepth'])) { $tree->setRestrictedDepth($this->arguments['restrictedDepth']); $tree->setRespectRestrictedDepth(true); } $arrayWriterVisitor = $this->objectManager->get('Tx_PtExtbase_Tree_ExtJsJsonWriterVisitor'); $arrayWriterVisitor->setMultipleSelect($this->arguments['multiple']); $arrayWriterVisitor->setSelection($this->getSelection()); $jsonTreeWriter = $this->objectManager->get('Tx_PtExtbase_Tree_JsonTreeWriter', array($arrayWriterVisitor), $arrayWriterVisitor); return $jsonTreeWriter->writeTree($tree); }
/** * Initializes tree repository builder */ protected function initTreeRepositoryBuilder() { if ($this->nodeRepositoryClassName !== null && $this->nodeRepositoryClassName != '') { $treeRepositoryBuilder = Tx_PtExtbase_Tree_TreeRepositoryBuilder::getInstance(); $treeRepositoryBuilder->setNodeRepositoryClassName($this->nodeRepositoryClassName); $treeRepositoryBuilder->setRestrictedDepth($this->restrictedDepth); } }