/**
  * Displays a form to create a new Article document.
  *
  * @Route("/new", name="sgkb_admin_articles_new")
  * @Template()
  */
 public function newAction(Category $category = null)
 {
     $document = new Article();
     if (!is_null($category)) {
         $document->addCategory($category);
     }
     $form = $this->createForm(new ArticleNewType(), $document, array('enable_related_urls' => $this->areRelatedUrlsEnabled()));
     return array('document' => $document, 'form' => $form->createView());
 }
Esempio n. 2
0
 private function addArticle($manager, $title, $content, array $categories, array $keywords, $url = null, array $metadata = array())
 {
     $article = new \ServerGrove\KbBundle\Document\Article();
     $article->setTitle($title)->setContent($content)->setContentType('markdown')->setIsActive(true);
     if (!is_null($url)) {
         $article->addUrl($url);
     }
     foreach ($categories as $category) {
         $article->addCategory($category);
     }
     foreach ($keywords as $keyword) {
         $article->addKeyword($keyword);
     }
     foreach ($metadata as $meta) {
         $article->setMetadata($meta['key'], $meta['value']);
     }
     $manager->persist($article);
     $manager->bindTranslation($article, 'en');
     return $article;
 }