Temat: Pomoc w zgraniu razem Gedmo translatable i sluggable
Dzięki za odpowiedź. Problem już sam rozwiązałem w piątek. Konfiguracja była w porządku.
W Entity dodalem w takiej kolejności:
use Gedmo\Sluggable\Sluggable;
use Gedmo\Translatable\Translatable;
use Gedmo\Mapping\Annotation as Gedmo;
A akcja w kontrolerze wygląda teraz tak:
public function addAction(Request $request)
{
if ($request->getMethod() == 'POST') {
$tag = new Tag();
$em = $this->getDoctrine()->getManager();
$formArray = $request->request->get('formTag');
$repository = $em->getRepository('PortalCmsBundle:Article');
$tag->setName($formArray['name']);
$tag->setCreated(new \DateTime('now', new \DateTimeZone('Europe/Warsaw')));
$validator = $this->get('validator');
$errors = $validator->validate($tag);
if (count($errors) > 0) {
foreach ($errors as $error) {
$this->message .= $error->getPropertyPath().' <-- '.$error->getMessage().'
';
}
} else {
$em->persist($tag);
if (isset($formArray['articles'])) {
foreach ($formArray['articles'] as $article_id) {
$article = $repository->find((int)$article_id);
$article_tag = new ArticleTag($article, $tag);
$em->persist($article_tag);
}
}
$em->flush();
$tag->setTranslatableLocale('en');
$tag->setName($formArray['name_en']);
$em->flush();
$tag->setTranslatableLocale('de');
$tag->setName($formArray['name_de']);
$em->flush();
$this->message = 'Tag dodany';
}
return $this->redirect($this->generateUrl(
'admin_tags',
array(
'message' => $this->message,
'messageType' => $this->messageType
)
));
}
I działa :)