Как создать этот образец формы Symfony?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как создать этот образец формы Symfony?

Сообщение Anonymous »

Я хочу создать форму Symfony, подобную изображению, которое я прикрепил.
Предположим, вы находитесь на странице редактирования категории и хотите добавить несколько задач для этой категории.
Некоторые поля одинаковы для каждая задача, например дата (это всего лишь пример, и некоторые поля могут быть одинаковыми).
С другой стороны, у нас есть коллекция полей имени и описания.
Итак, пользователь выбирает дату для набора задач и может нажать кнопку «Добавить элемент» и вставить для них заголовок и описание.
Как вы создаете форму в Form Type и внутри Twig?
Предполагаем, что мы также хотим добавить внутреннюю проверку.
Изображение

// Category Entity

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
* @ORM\Entity()
* @ORM\Table(name="categories")
*/
class Category
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;

/**
* @ORM\Column(type="string", length=255)
*/
private $name;

public function getId(): ?int
{
return $this->id;
}

public function getName(): ?string
{
return $this->name;
}

public function setName(string $name): self
{
$this->name = $name;
return $this;
}
}

// Task Entity

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
* @ORM\Entity()
* @ORM\Table(name="tasks")
*/
class Task
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;

/**
* @ORM\Column(type="string", length=255)
*/
private $title;

/**
* @ORM\Column(type="text", nullable=true)
*/
private $description;

/**
* @ORM\Column(type="datetime")
*/
private $date;

/**
* @ORM\ManyToOne(targetEntity=Category::class)
* @ORM\JoinColumn(nullable=false)
*/
private $category;

public function getId(): ?int
{
return $this->id;
}

public function getTitle(): ?string
{
return $this->title;
}

public function setTitle(string $title): self
{
$this->title = $title;
return $this;
}

public function getDescription(): ?string
{
return $this->description;
}

public function setDescription(?string $description): self
{
$this->description = $description;
return $this;
}

public function getDate(): ?\DateTimeInterface
{
return $this->date;
}

public function setDate(\DateTimeInterface $date): self
{
$this->date = $date;

return $this;
}

public function getCategory(): ?Category
{
return $this->category;
}

public function setCategory(?Category $category): self
{
$this->category = $category;
return $this;
}
}

CategoryType in normal situation is like below, but I want to implement the form like the attched photo above.

// Category Type

class CategoryType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class, [
'label' => 'Category Name',
])
->add('tasks', CollectionType::class, [
'entry_type' => TaskType::class,
'entry_options' => [
'label' => false,
],
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false, // Important to use this for collections
'label' => 'Tasks',
]);
}

// ... existing configureOptions method
}



Подробнее здесь: https://stackoverflow.com/questions/788 ... mfony-form
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»