Ошибка пакета новостей Symfony 4 и Sonata во время внедрения - PullRequest
1 голос
/ 02 июля 2019

При установке SonataNewsBundle я получил следующую ошибку.

Unable to register extension "Sonata\FormatterBundle\Extension\ControlFlowExtension" as it is already registered in . (which is being imported from "/home/yoesoff/Documents/projects/oblog/config/routes/sonata_admin.yaml"). Make sure there is a loader supporting the "sonata_admin" type.

Error

и следующая ошибка

The target-entity App\Entity\SonataMediaMedia cannot be found in 'App\Entity\SonataClassificationCollection#media'.

enter image description here

Я просто следовал официальной документации от здесь .

Кто-нибудь может помочь с этим?

1 Ответ

0 голосов
/ 18 июля 2019

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

composer require sonata-project/media-orm-pack

Обратите внимание, что если вы используете sonata-project/classification-bundle, вам нужно исправить аннотации для App\Entity\SonataMediaMedia::$category следующим образом:

/**
 * ORM\ManyToOne(
 *     targetEntity="App\Entity\SonataClassificationCategory",
 *     cascade={"persist"}
 * )
 * ORM\JoinColumn(name="category_id", referencedColumnName="id", onDelete="SET NULL")
 *
 * @var SonataClassificationCategory
 */
protected $category;

Если это поможет, насколько я понимаю, мы должны пропустить шаги sonata:easy-extends:generate при использовании Symfony 4 / Flex.

Рецепты Flex должны создавать классы в нашем пространстве имен App\Entity.

Если они этого не сделают, это будет что-то в соответствии с вышесказанным, где вещи должны быть добавлены вручную.

...