Как дублировать объект с помощью SonataAdminBundle и перенаправить его в режим редактирования? ⇐ Php
-
Anonymous
Как дублировать объект с помощью SonataAdminBundle и перенаправить его в режим редактирования?
Я новичок в Sonata и пытаюсь дублировать выбранную строку, скопировать ее данные в поля формы и перенаправить в режиме редактирования. У меня уже есть действие DupyTaskAction, но оно не распознается.
класс SampleAdmin { защищенная функция configureRoutes(RouteCollectionInterface $collection): void { $collection->clearExcept(['list','create', 'edit', 'duulateTask']); $collection->add('duulateTask', $this->getRouterIdParameter() . '/duulateTask'); $collection->удалить('удалить'); } защищенная функция configureFormFields(FormMapper $form): void {...} защищенная функция configureListFields(ListMapper $list): void {... ->add('_action', 'действия', [ 'действия' => [ 'дубликат' => [ 'template' => 'sonata/crud/list_field_dudicate_button_template.html.twig', ], ], 'метка' => 'Действие', ]) } /** * @param $id * @return RedirectResponse * @throws ModelManagerThrowable */ общедоступная функция DupeTaskAction($id): RedirectResponse { $object = $this->getObject($id); если (!$объект) { throw new \RuntimeException(sprintf('Невозможно найти объект с идентификатором: %s', $id)); } $clonedObject = клонировать $объект; $this->getModelManager()->create($clonedObject); return new RedirectResponse($this->generateUrl('edit', ['id' => $clonedObject->getId()])); } Сообщение об ошибке:
Контроллер для URI «/controlroom/sample/72/duulateTask» не может быть вызван: Ожидаемый метод «duulateTaskAction» в классе «Sonata\AdminBundle\Controller\CRUDController». Доступные методы: «getSubscribedServices», «listAction», «batchActionDelete», «deleteAction», «editAction», «batchAction», «createAction», «showAction», «historyAction», «historyViewRevisionAction», «historyCompareRevisionsAction», «exportAction», «aclAction», «configureAdmin», «setContainer».
Я новичок в Sonata и пытаюсь дублировать выбранную строку, скопировать ее данные в поля формы и перенаправить в режиме редактирования. У меня уже есть действие DupyTaskAction, но оно не распознается.
класс SampleAdmin { защищенная функция configureRoutes(RouteCollectionInterface $collection): void { $collection->clearExcept(['list','create', 'edit', 'duulateTask']); $collection->add('duulateTask', $this->getRouterIdParameter() . '/duulateTask'); $collection->удалить('удалить'); } защищенная функция configureFormFields(FormMapper $form): void {...} защищенная функция configureListFields(ListMapper $list): void {... ->add('_action', 'действия', [ 'действия' => [ 'дубликат' => [ 'template' => 'sonata/crud/list_field_dudicate_button_template.html.twig', ], ], 'метка' => 'Действие', ]) } /** * @param $id * @return RedirectResponse * @throws ModelManagerThrowable */ общедоступная функция DupeTaskAction($id): RedirectResponse { $object = $this->getObject($id); если (!$объект) { throw new \RuntimeException(sprintf('Невозможно найти объект с идентификатором: %s', $id)); } $clonedObject = клонировать $объект; $this->getModelManager()->create($clonedObject); return new RedirectResponse($this->generateUrl('edit', ['id' => $clonedObject->getId()])); } Сообщение об ошибке:
Контроллер для URI «/controlroom/sample/72/duulateTask» не может быть вызван: Ожидаемый метод «duulateTaskAction» в классе «Sonata\AdminBundle\Controller\CRUDController». Доступные методы: «getSubscribedServices», «listAction», «batchActionDelete», «deleteAction», «editAction», «batchAction», «createAction», «showAction», «historyAction», «historyViewRevisionAction», «historyCompareRevisionsAction», «exportAction», «aclAction», «configureAdmin», «setContainer».
Мобильная версия