Кнопка «Добавить» в Symfony Sonata Media Gallery выдает ошибки с PHPCR - PullRequest
0 голосов
/ 28 января 2019

Мне трудно обдумать это, я начал проект, основанный на Symfony 4 + PHPCR + CMF + администратор Sonata, у меня нет большого опыта работы с Symfony, и я полагаю, что я должен был начать с чего-то более простого, но эй ...

В любом случае я прошел через петли и обручи, чтобы заставить это работать, и у меня есть, но иногда я действительно зацикливаюсь на чем-то, что я не уверен, является ли это проблемой или просто моей некомпетентностью.

Это один из тех случаев, когда я заставил работать медиа-пакет, за исключением одной вещи (ну, две вещи, но в основном это одна вещь) ... Я загрузил некоторые медиа-файлы (изображения), а затем япытался добавить их в галерею.Но после нажатия кнопки Add new, которая отображает html для назначения медиа, я получаю следующую ошибку из запроса ajax:

Argument 1 passed to Sonata\AdminBundle\Form\DataTransformer\ModelToIdTransformer::__construct() must implement interface Sonata\AdminBundle\Model\ModelManagerInterface, null given, called in /var/www/html/vendor/sonata-project/admin-bundle/src/Form/Type/ModelListType.php on line 51

Теперь я прошел трассировку стека (абстракция yay) и черезнекоторый исходный код и придумал следующее:

  1. ModelToldTransformer ожидает, что первый аргумент будет иметь тип ModelManagerInterface (см. github )

  2. Аргумент передается из doctrine-phpcr-admin-bundle (см. github )

  3. Поле создается без опции model_manager (см. В github )

Symfony docs о типах форм говорят:

model_manager
    defaults to null, but is actually calculated from the linked Admin class.
    You usually should not need to set this manually.

Так что я думаю, что класс Adminне связан с классом PHPCR?

Итак, я попытался связать это вручную (я нашел похожий пример в другом комплекте) в .../media-bundle/src/Admin/GalleryHasMediaAdmin.php

Вот суть ревизиичто изменилось

Как только это исправлено, вызов не вызывает исключение, но также неПод любыми полями, просто кнопку Add new снова и ничего больше.

Я бы очень хотел, чтобы вы указали, что делать дальше, я уверен, что определение model_manager - это не правильный путь(и это никоим образом не исправляет всю эту чертову вещь), но из-за уровня абстракции действительно трудно копаться в нем и находить, что не так.

Это список зависимостей который я сейчас установил.

И это сонатная конфигурация , объединенная в один файл.

Я хотел бы предоставить еще больше информации, но я не уверен, чтоостальное будет актуально

...