[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Чекбоксы в symfony2
J1upuk
Есть страница заказов в которую выводятся данные из базы, нужно добавить чекбоксы к каждой позиции, дропбокс и кнопку отправки формы. С дропбоксом и сабмитом не сложно, но как вывести чекбоксы чтобы появились возле каждой позиции и передавали значение id этой позиции, вот что я написал:

OrderController.php


public function indexAction(Request $request)
{
$qb = $this->get('doctrine.orm.entity_manager')->createQueryBuilder();
$qb->select('o', 's')
->
from('AppBundle:Order', 'o')
->
leftJoin('o.sub_order', 's')
->
setMaxResults(50)
;


$request->get('amazon_status') && $qb->andWhere('o.status = :amazon_status')->setParameter('amazon_status', $request->get('amazon_status'));
$request->get('local_status') && $qb->andWhere('o.local_status = :local_status')->setParameter('local_status', $request->get('local_status'));
$request->get('vendor_status') && $qb->andWhere('s.status = :vendor_status')->setParameter('vendor_status', $request->get('vendor_status'));

$orders = $this->get('knp_paginator')->paginate(
$qb->getQuery(),
$request->query->getInt('page', 1),
50
);


// выше не мой код, ниже мой:

$change_status_form = $this->createForm(new ChangeStatusType(), $orders);

return $this->render('AppBundle:Order:index.html.twig', [
'orders' => $orders,
'change_status_form' => $change_status_form->createView()
]);

}


Класс формы:


<?php
namespace AppBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

class ChangeStatusType extends AbstractType
{
public function ChangeStatusType(FormBuilderInterface $builder, array $options)
{
$builder
->add('check_order', 'entity', [
'class' => 'AppBundle:Order',
'property' => 'id',
'multiple' => true,
'expanded' => true,
'required' => false
])
;

}

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults([
'csrf_protection' => false
]);
}

public function getName()
{
return 'change_status_form';
}
}



Дальше шаблон:


{{ form_start(change_status_form.check_order[order.id]) }}
{
% for order in orders %}
<tr>
<
td>{{ form_widget(change_status_form.check_order[order.id]) }}</td>
// дальше выводится остальная информация о заказах
{% endfor %}
{{
form_end(change_status_form }}


Выдаёт ошибку:


Method "check_order" for object "Symfony\Component\Form\FormView" does not exist in AppBundle:Order:index.html.twig at line 79


Я с симфони только познакомился, поэтому многих моментов не понимаю. Подскажите, что не так? Как только уже не пытался что либо делать, не выходит.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.