/** * @return void */ public function initFilter() { $this->objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager'); /** @var \TYPO3\CMS\Extbase\Object\ObjectManager $objectManager */ $this->treeContext = $this->objectManager->get('Tx_PtExtbase_Tree_TreeContext'); $this->treeContext->setRespectEnableFields($this->treeRespectEnableFields); $this->buildTree(); }
/** * 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); }