Sylius:无法加载类型 "app.form.type.slider"
Sylius : Could not load type "app.form.type.slider"
表单类型服务无法定义,问题出在哪里!!!
AppBundle/Resources/config/routing.yml:
app_slider_create:
path: /sliders/slider/new
methods: [GET, POST]
defaults:
_controller: app.controller.slider:createAction
_sylius:
form: app.form.type.slider
AppBundle/Resources/config/services.yml:
app.form.type.slider:
class: AppBundle\Form\Type\add_img_sliderType
tags:
- { name: form.type, alias: app_slider }
arguments: [@doctrine, @sylius.context.locale]
AppBundle/Form/Type/add_img_sliderType.php:
<?php
namespace AppBundle\Form\Type;
use Sylius\Bundle\ResourceBundle\Form\Type\AbstractResourceType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\FileType;
class add_img_sliderType extends AbstractResourceType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
// Build your custom form!
$builder
->add('lib', 'text', [
'label' => 'Libélle',
])
->add('description', 'text', [
'label' => 'Description',
])
->add('path',FileType::class, [
'required' => true,
'label' => 'Photo',
])
;
}
public function getName()
{
return 'app_slider';
}
}
我想你应该在路由中通过标签定义表单,而不是通过完整的表单名称。所以你的路由配置应该是:
app_slider_create:
path: /sliders/slider/new
methods: [GET, POST]
defaults:
_controller: app.controller.slider:createAction
_sylius:
form: app_slider
如果有帮助,请告诉我 ;)
表单类型服务无法定义,问题出在哪里!!!
AppBundle/Resources/config/routing.yml:
app_slider_create:
path: /sliders/slider/new
methods: [GET, POST]
defaults:
_controller: app.controller.slider:createAction
_sylius:
form: app.form.type.slider
AppBundle/Resources/config/services.yml:
app.form.type.slider:
class: AppBundle\Form\Type\add_img_sliderType
tags:
- { name: form.type, alias: app_slider }
arguments: [@doctrine, @sylius.context.locale]
AppBundle/Form/Type/add_img_sliderType.php:
<?php
namespace AppBundle\Form\Type;
use Sylius\Bundle\ResourceBundle\Form\Type\AbstractResourceType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\FileType;
class add_img_sliderType extends AbstractResourceType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
// Build your custom form!
$builder
->add('lib', 'text', [
'label' => 'Libélle',
])
->add('description', 'text', [
'label' => 'Description',
])
->add('path',FileType::class, [
'required' => true,
'label' => 'Photo',
])
;
}
public function getName()
{
return 'app_slider';
}
}
我想你应该在路由中通过标签定义表单,而不是通过完整的表单名称。所以你的路由配置应该是:
app_slider_create:
path: /sliders/slider/new
methods: [GET, POST]
defaults:
_controller: app.controller.slider:createAction
_sylius:
form: app_slider
如果有帮助,请告诉我 ;)