/** * Imports fjson files into TYPO3CR nodes. * See Settings.yaml for an exemplary configuration for the documentation bundles * * @param string $bundle bundle to import. If not specified all configured bundles will be imported * @return void */ public function importCommand($bundle = NULL) { $this->nodeTypeManager = $this->objectManager->get('TYPO3\\TYPO3CR\\Domain\\Service\\NodeTypeManager'); $this->contextFactory = $this->objectManager->get('TYPO3\\TYPO3CR\\Domain\\Service\\ContextFactoryInterface'); $this->currentSite = $this->siteRepository->findFirst(); /** @var \TYPO3\Neos\Domain\Service\ContentContext $contentContext */ $contentContext = $this->contextFactory->create(array('workspaceName' => 'live', 'invisibleContentShown' => TRUE, 'currentSite' => $this->currentSite)); $this->siteNode = $contentContext->getCurrentSiteNode(); $bundles = $bundle !== NULL ? array($bundle) : array_keys($this->settings['bundles']); $defaultConfiguration = isset($this->settings['defaultConfiguration']) ? $this->settings['defaultConfiguration'] : array(); foreach ($bundles as $bundle) { if (!isset($this->settings['bundles'][$bundle])) { $this->outputLine('Bundle "%s" is not configured', array($bundle)); $this->quit(1); } $this->bundleConfiguration = Arrays::arrayMergeRecursiveOverrule($defaultConfiguration, $this->settings['bundles'][$bundle]); if (isset($this->bundleConfiguration['importRootNodePath'])) { $this->importBundle($bundle); $this->outputLine('---'); } } $this->outputLine('Done'); }