/**
  * This command enables a template
  *
  * @param InputInterface  $input  The input interface
  * @param OutputInterface $output The output interface
  *
  * @return void
  *
  * @throws Exception Template nof found
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $templateName = $input->getArgument('template');
     $templates = $this->configurationManager->get('store.templates');
     $templateFound = array_reduce($templates, function ($alreadyFound, $template) use($templateName) {
         return $alreadyFound || $template['bundle'] == $templateName;
     }, false);
     if (!$templateFound) {
         throw new Exception(sprintf('Template %s not found', $templateName));
     }
     $this->configurationManager->set('store.template', $templateName);
     $formatter = $this->getHelper('formatter');
     $formattedLine = $formatter->formatSection('OK', 'Template "' . $templateName . '" enabled');
     $output->writeln($formattedLine);
 }
Beispiel #2
0
 /**
  * Load templates
  *
  * @return array Templates found
  *
  * @throws ConfigurationParameterNotFoundException Parameter not found
  * @throws Exception                               ConfigurationBundle not installed
  */
 public function loadTemplates()
 {
     if (!$this->configurationManager instanceof ConfigurationManager) {
         throw new Exception('You need to install ConfigurationBundle');
     }
     $templates = new ArrayCollection([]);
     $bundles = $this->kernel->getBundles();
     /**
      * @var Bundle $bundle
      */
     foreach ($bundles as $bundle) {
         if ($bundle instanceof TemplateInterface) {
             $bundleName = $bundle->getName();
             $bundleNamespace = $bundle->getNamespace();
             $templates->set($bundleName, ['bundle' => $bundleName, 'namespace' => $bundleNamespace, 'name' => $bundle->getTemplateName()]);
         }
     }
     $templatesArray = $templates->toArray();
     $this->configurationManager->set('store.templates', $templatesArray);
     return $templatesArray;
 }
 /**
  * Load a parameter given the key and the namespace
  *
  * @param string $parameterKey       Parameter key
  * @param string $parameterNamespace Parameter namespace
  *
  * @return null|string|boolean Configuration parameter value
  *
  * @throws ConfigurationParameterNotFoundException Configuration not found
  */
 public function getParameter($parameterKey, $parameterNamespace = '')
 {
     return $this->configurationManager->get($parameterKey, $parameterNamespace);
 }