Я создаю приложение для веб-проекта Symfony, которое я сделал ранее как переносимый пакет. Я создал шаблон «media.html.twig» и хочу, чтобы он вызывался вспомогательной функцией render ().
Я активировал пакет в /config/bundles.php с помощью
App\OM\MediaManagerBundle\OMMediaManagerBundle::class => ['all' => true],
и следуйте инструкциям на этом сайте https://symfony.com/doc/current/bundles.html для настройки структуры папок Symfony-Bundle и необходимых файлов. Я добавил префикс пути к @MediaManager, как сказано на этом сайте https://symfony.com/doc/4.1/bundles/best_practices.html#resources.
Это мой класс Controller:
<?php
namespace App\OM\MediaManagerBundle\Controller;
use App\OM\MediaManagerBundle\Form\ImageType;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
class MediaManagerController extends AbstractController
{
const TEMPLATE = "@MediaManager/MediaManager/media.html.twig";
/**
* @Route("/media/", name="om_mediamanager_media")
* */
public function index(Request $request)
{
$form = $this->createForm(ImageType::class);
return $this->render(self::TEMPLATE,
[
'form' => $form->createView(),
]);
}
}
Вот так выглядит структура моей папки внутри src: https://i.imgur.com/9UomIEK.png
Я надеялся, что моя форма будет отображаться, но вместо этого я получил сообщение об ошибке:
There are no registered paths for namespace "MediaManager".
Я знаю, что он начинает смотреть из папки / templates, поэтому я попытался настроитьпуть к "../src/OM/MediaManagerBundle/Resources/views/MediaManager/media.html.twig", но получил
Looks like you try to load a template outside configured directories (../src/OM/MediaManagerBundle/Resources/views/MediaManager/media.html.twig).
код работает, когда я перемещаю "media.html.twigmsgstr "шаблон внутри папки / templates, но я ожидаю, что он разрушит переносимость пакета и поэтому не хочет этого делать.
Как получить доступ к этому шаблону из моего класса OMMediaManagerController? Правильно ли я использую Symfony Bundles? Есть ли еще документация по Bundles в целом? Мне показалось, что те, которые предоставлены официальным сайтом, очень не хватает.