Я следил за установкой CMF Media, после прохождения всех конфликтов композитора, и теперь я не могу загрузить простую форму с виджетом изображения.
дает Could not load type "cmf_media_image"
Если я бегу php app/console container:debug --tag=form.type
он не отображается в списке типов форм.
Соответствующий код:
[...]
twig:
debug: "%kernel.debug%"strict_variables: "%kernel.debug%"form:
resources:
- 'bootstrap_3_layout.html.twig'
- 'CmfMediaBundle:Form:fields.html.twig'
cmf_media:
persistence:
phpcr:
enabled: false
liip_imagine:
filter_sets:
# default filter to be used with the image preview
image_upload_thumbnail:
data_loader: cmf_media_doctrine_phpcr
quality: 85
filters:
thumbnail: { size: [100, 100], mode: outbound }
doctrine_phpcr:
session:
backend:
type: doctrinedbal
# connection: default
workspace: default
username: admin
password: admin
odm:
auto_mapping: true
auto_generate_proxy_classes: "%kernel.debug%"
AnnotationRegistry::registerLoader(array($loader, 'loadClass'));
AnnotationRegistry::registerFile(__DIR__.'/../vendor/doctrine/phpcr-odm/lib/Doctrine/ODM/PHPCR/Mapping/Annotations/DoctrineAnnotations.php');
"require": {
"php": ">=5.3.9",
"symfony/symfony": "2.7.*",
"doctrine/dbal": "*",
"doctrine/doctrine-bundle": "*",
"symfony/assetic-bundle": "~2.3",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~4.0",
"sensio/framework-extra-bundle": "~3.0,>=3.0.2",
"incenteev/composer-parameter-handler": "~2.0",
"components/jquery": "^2.1",
"components/font-awesome": "^4.4",
"friendsofsymfony/user-bundle": "~2.0@dev",
"avanzu/admin-theme-bundle": "^1.3",
"egeloen/ckeditor-bundle": "^3.0",
"symfony-cmf/media-bundle": "^1.2",
"doctrine/orm": "^2.5",
"jackalope/jackalope-doctrine-dbal": "1.2.*",
"jackalope/jackalope": "1.2.*",
"liip/imagine-bundle": "^1.3",
"doctrine/phpcr-bundle": "1.*",
"doctrine/phpcr-odm": "1.2.*"},
"require-dev": {
"sensio/generator-bundle": "~2.3"},
public function registerBundles()
{
$bundles = array(
[...]
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new Ivory\CKEditorBundle\IvoryCKEditorBundle(),
new Liip\ImagineBundle\LiipImagineBundle(),
new Doctrine\Bundle\PHPCRBundle\DoctrinePHPCRBundle(),
new Symfony\Cmf\Bundle\MediaBundle\CmfMediaBundle(),
);
[...]
php app/console container:debug --tag=form.type
container] Public services with tag form.type
Service ID alias Class name
doctrine_phpcr.odm.form.type.path phpcr_odm_path Doctrine\Bundle\PHPCRBundle\Form\Type\PathType
form.type.birthday birthday Symfony\Component\Form\Extension\Core\Type\BirthdayType
form.type.button button Symfony\Component\Form\Extension\Core\Type\ButtonType
form.type.checkbox checkbox Symfony\Component\Form\Extension\Core\Type\CheckboxType
form.type.choice choice Symfony\Component\Form\Extension\Core\Type\ChoiceType
form.type.collection collection Symfony\Component\Form\Extension\Core\Type\CollectionType
form.type.country country Symfony\Component\Form\Extension\Core\Type\CountryType
form.type.currency currency Symfony\Component\Form\Extension\Core\Type\CurrencyType
form.type.date date Symfony\Component\Form\Extension\Core\Type\DateType
form.type.datetime datetime Symfony\Component\Form\Extension\Core\Type\DateTimeType
form.type.email email Symfony\Component\Form\Extension\Core\Type\EmailType
form.type.entity entity Symfony\Bridge\Doctrine\Form\Type\EntityType
form.type.file file Symfony\Component\Form\Extension\Core\Type\FileType
form.type.form form Symfony\Component\Form\Extension\Core\Type\FormType
form.type.hidden hidden Symfony\Component\Form\Extension\Core\Type\HiddenType
form.type.integer integer Symfony\Component\Form\Extension\Core\Type\IntegerType
form.type.language language Symfony\Component\Form\Extension\Core\Type\LanguageType
form.type.locale locale Symfony\Component\Form\Extension\Core\Type\LocaleType
form.type.money money Symfony\Component\Form\Extension\Core\Type\MoneyType
form.type.number number Symfony\Component\Form\Extension\Core\Type\NumberType
form.type.password password Symfony\Component\Form\Extension\Core\Type\PasswordType
form.type.percent percent Symfony\Component\Form\Extension\Core\Type\PercentType
form.type.phpcr.document phpcr_document Doctrine\Bundle\PHPCRBundle\Form\Type\DocumentType
form.type.phpcr.reference phpcr_reference Doctrine\Bundle\PHPCRBundle\Form\Type\PHPCRReferenceType
form.type.phpcr_odm.reference_collection phpcr_odm_reference_collection Doctrine\Bundle\PHPCRBundle\Form\Type\PHPCRODMReferenceCollectionType
form.type.radio radio Symfony\Component\Form\Extension\Core\Type\RadioType
form.type.repeated repeated Symfony\Component\Form\Extension\Core\Type\RepeatedType
form.type.reset reset Symfony\Component\Form\Extension\Core\Type\ResetType
form.type.search search Symfony\Component\Form\Extension\Core\Type\SearchType
form.type.submit submit Symfony\Component\Form\Extension\Core\Type\SubmitType
form.type.text text Symfony\Component\Form\Extension\Core\Type\TextType
form.type.textarea textarea Symfony\Component\Form\Extension\Core\Type\TextareaType
form.type.time time Symfony\Component\Form\Extension\Core\Type\TimeType
form.type.timezone timezone Symfony\Component\Form\Extension\Core\Type\TimezoneType
form.type.url url Symfony\Component\Form\Extension\Core\Type\UrlType
ivory_ck_editor.form.type ckeditor Ivory\CKEditorBundle\Form\Type\CKEditorType
liip_imagine.form.type.image liip_imagine_image Liip\ImagineBundle\Form\Type\ImageType
Я только что дважды проверил, что файл в комплекте, это vendor/symfony-cmf/media-bundle/Resources/views/Form/fields.html.twig
Любая помощь очень ценится.
К сожалению, cmf_media_image (и другие типы форм CmfMediaBundle) доступны только с хранилищем phpcr. В вашей конфигурации отключено хранилище phpcr. Если вы хотите использовать phpcr, включите его. В противном случае вы могли бы посмотреть, как заставить интерфейсы хранения работать с выбранной вами системой хранения и добавить этот код в пакет. Это будет высоко ценится.
Документация по типам форм http://symfony.com/doc/current/cmf/bundles/media/form_types.html к сожалению, не указывает на это. Я добавлю записку на этот счет.
Других решений пока нет …