/**
  * @param Request $request
  * @param Application $app
  * @param $idArticulo
  * 
  * @return mixed|RedirectResponse
  */
 public function agregar(Request $request, Application $app, $idArticulo)
 {
     // Etiquetas
     $etiquetaModelo = new Etiqueta($app['db']);
     $etiquetas = $etiquetaModelo->getTodo();
     $options_etiq = array();
     foreach ($etiquetas as $etiqueta) {
         $options_etiq[$etiqueta['id']] = $etiqueta['nombre'];
     }
     $initial_data = array('id_articulo' => $idArticulo, 'id_etiqueta' => '');
     $form = $app['form.factory']->createBuilder('form', $initial_data);
     $form = $form->add('id_etiqueta', 'choice', array('choices' => $options_etiq, 'required' => true));
     $form = $form->getForm();
     if ("POST" == $request->getMethod()) {
         $form->handleRequest($request);
         if ($form->isValid()) {
             $data = $form->getData();
             $etiquetasArticuloModelo = new EtiquetasArticuloModelo($app['db']);
             $filasAfectadas = $etiquetasArticuloModelo->guardar($data['id_articulo'], $data['id_etiqueta']);
             if ($filasAfectadas == 1) {
                 $app['session']->getFlashBag()->add('success', array('message' => '¡Etiqueta de Artículo creada!'));
             } else {
                 $app['session']->getFlashBag()->add('warning', array('message' => '¡Etiqueta de Artículo ya está agregada!'));
             }
             return $app->redirect($app['url_generator']->generate('etiquetas_articulo_list', array('articulo_id' => $idArticulo)));
         }
     }
     return $app['twig']->render('backend/etiquetas_articulo/create.html.twig', array("form" => $form->createView(), "idArticulo" => $idArticulo));
 }
示例#2
0
 public function modificar($id, $idAutor, $idCategoria, $imagen, $titulo, $descripcion, $contenido, array $etiquetas = array())
 {
     $data = array('id_autor' => $idAutor, 'id_categoria' => $idCategoria, 'imagen' => $imagen, 'titulo' => $titulo, 'descripcion' => $descripcion, 'contenido' => $contenido);
     $filasAfectadas = $this->_update($data, array('id' => $id));
     if (!empty($etiquetas)) {
         $etiquetasArticuloModelo = new EtiquetasArticulo($this->_db);
         $etiquetasAgregadas = 0;
         foreach ($etiquetas as $etiqueta) {
             $etiquetasAgregadas += $etiquetasArticuloModelo->guardar($id, $etiqueta);
         }
         return array('articulo' => $filasAfectadas, 'etiquetas' => $etiquetasAgregadas);
     } else {
         return $filasAfectadas;
     }
 }