我的问题是下一个: 我有一个选择字段,用户选择要购买的内容和购买的数量,然后按下“添加”按钮,其中返回似乎选择一个字段。问题不在于如何完成。也就是说,如何采取数据控制器,如修改类型等。 你推荐? Symfony2适用于这些情况吗?
我的代码:
ProdPedType.php:
<?php
namespace Proyecto\LavocBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class ProdPedidoType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('producto', 'entity', array(
'class' => 'ProyectoAdminBundle:Catalogo',
'property' => 'articulo',
));
$builder->add('cantidad', 'choice', array(
'choices' => array(
'empty_value' => 'Elija la cantidad',
'1' => '1',
'5' => '5',
'10' => '10',
'20' => '20',
'50' => '50',
'100' => '100',
'150' => '150',
'200' => '200'
)
));
$builder->add('valor', 'choice', array(
'choices' => array(
'empty_value' => 'Elija el peso',
'1' => '1',
'5' => '5',
'10' => '10',
'20' => '20',
'50' => '50',
'100' => '100'
)
));
$builder->add('unidad', 'choice', array(
'choices' => array(
'KGS' => 'KGS',
'LTS' => 'LTS'
)
));
}
public function getName()
{
return 'prodpedido_form';
}
pedidos.html.twig:
{% extends 'AtajoBundle::layout.html.twig' %}
{% block stylesheets %}
{{ parent() }}
<link href="{{ asset('bundles/MICARPETA/css/general.css') }}" type="text/css" rel="stylesheet">
<link href="{{ asset('bundles/MICARPETA/css/Pedido/crearPedido.css') }}" type="text/css" rel="stylesheet">
<link href='http://fonts.googleapis.com/css?family=Spinnaker' rel='stylesheet' type='text/css'>
{% endblock %}
{% block content %}
<form action="{{ path('crear_pedido', { 'id': app.user.id } ) }}" method="post" {{ form_enctype(form) }}>
{{ form_start (form) }}
{{ form_errors(form) }}
<div id="agrega">
<ul>
<li>{{ form_label(form.producto, 'Nombre del producto: ') }}</li>
<li>{{ form_label(form.cantidad, 'Cantidad que va a llevar: ') }}</li>
<li>{{ form_label(form.valor, 'Valor en numero (KGS/LTS): ') }}</li>
<li>{{ form_label(form.unidad, 'KG o LTS: ') }}</li>
</ul>
<ul>
<li>{{ form_widget(form.producto) }}</li>
<li>{{ form_widget(form.cantidad) }}</li>
<li>{{ form_widget(form.valor) }}</li>
<li>{{ form_widget(form.unidad) }}</li>
</ul>
</div>
<div ><input id="agregarCampo" type="button" value="Agregar Producto"/></div>
<div ><input id="quitarCampo" type="button" value="Quitar Producto"/></div>
<div ><input type="submit" id="submit"/></div>
{{ form_end (form) }}
{% endblock %}
TablasController.php:
public function pedidoAction()
{
$em = $this->getDoctrine()->getManager();
$prodped= new ProdPedido();//creo la entidad de los productos
$form = $this->createForm(new ProdPedidoType(), $prodped);
//creo formulario del pedido que va a hacer
return $this->render('AtajoBundle:General:pedido.html.twig', array('form' => $form->createView()));
}