Symfony 7 EdyAdmin 4: Я пытаюсь показать «Полевое поле \ field :: new ('status', 'status')» на странице редактирования сPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Symfony 7 EdyAdmin 4: Я пытаюсь показать «Полевое поле \ field :: new ('status', 'status')» на странице редактирования с

Сообщение Anonymous »

У меня есть статусы в порядке (src/ountity/order.php) (например, 0,1,2, ...). И я хочу показать эти статусы, такие как «созданный», «обработан», «завершен», ... < /p>
Я добавил класс для списка статусов заказа: < /p>

Код: Выделить всё

namespace App\Entity\StaticStorage;

class OrderStaticStorage
{
public const ORDER_STATUS_CREATED = 0;
public const ORDER_STATUS_PROCESSED = 1;
public const ORDER_STATUS_COMPLECTED = 2;
public const ORDER_STATUS_DELIVERED = 3;
public const ORDER_STATUS_DENIED = 4;

/**
* @return string[]
*/
public static function getORDERStatusChoises(): array
{
return [
self::ORDER_STATUS_CREATED => 'Created',
self::ORDER_STATUS_PROCESSED => 'Processed',
self::ORDER_STATUS_COMPLECTED => 'Completed',
self::ORDER_STATUS_DELIVERED => 'Delivered',
self::ORDER_STATUS_DENIED => 'Denied',
];
}

}
в /src/entity/order.php это поле INT:

Код: Выделить всё

public function getStatus(): ?int
{
return $this->status;
}

/*in orders list i show status via this method:*/
public function getStatusName(): string
{
return OrderStaticStorage::getORDERStatusChoises()[$this->status];
}
в ordercrudcontroller.php в configureFields () Метод я попробовал показать следующее:

Код: Выделить всё

public function configureFields(string $pageName): iterable
{
yield Field\IdField::new('id')
->setDisabled();
yield Field\DateField::new('createdAt')
->setDisabled();

/* this showing on orders list */
yield Field\TextField::new('StatusName', 'Order status')
->setDisabled()
->onlyOnIndex();

/*
HERE IS ERROR!
I want to show it in Edit page
*/
yield Field\Field::new('status', 'Status')
->hideOnIndex()
->setFormType(ChoiceType::class)
->setFormTypeOption('choices', OrderStaticStorage::getORDERStatusChoises())
->setFormTypeOption('choice_translation_domain', true)
->setFormTypeOption('placeholder', 'Choose a status');
}
Теперь на странице редактирования поля Поле урока \ field :: new ('status', 'status') нравится это:


и еще одна ошибка:
Затем я выбираю статус (другой int) и я не могу сохранить страницу.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... tus-status
Ответить

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

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

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

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

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