/** * 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()); }
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; }