【发布时间】:2018-09-15 01:55:12
【问题描述】:
我正在使用 Sonata 的 block bundle 和 Symfony 3.3 来开发应用程序。我已经配置了一个块服务来显示 YouTube 视频。
服务包含以下代码:
$blockContext->setSetting('template', 'AppBundle:Components:videoElement.html.twig');
return $this->renderResponse($blockContext->getTemplate(), array(
'block' => $block,
'settings' => $settings,
'media' => $media,
'framehtml' => $frameHtml,
'provider_reference' => $providerReference,
), $response);
当我在笔记本电脑上使用该服务时,它运行良好。当我切换到另一个环境时,视频不再显示,并且出现以下错误:
[2018-04-05 11:24:23] app.ERROR: [cms::renderBlock] block.id=13 - 渲染块时出错 - 找不到模板 “AppBundle:Components:videoElement.html.twig”(调查: /srv/htdocs/vgms-core/app/Resources/views, /srv/htdocs/vgms-core/vendor/symfony/symfony/src/Symfony/Bridge/Twig/Resources/views/Form, /srv/htdocs/vgms-core/vendor/knplabs/knp-menu/src/Knp/Menu/Resources/views)。 {“异常”:“[对象](InvalidArgumentException(代码:0):无法 找到模板 \"AppBundle:Components:videoElement.html.twig\" (看了 进入:/srv/htdocs/vgms-core/app/Resources/views, /srv/htdocs/vgms-core/vendor/symfony/symfony/src/Symfony/Bridge/Twig/Resources/views/Form, /srv/htdocs/vgms-core/vendor/knplabs/knp-menu/src/Knp/Menu/Resources/views)。 在 /srv/htdocs/vgms-core/vendor/symfony/symfony/src/Symfony/Bridge/Twig/TwigEngine.php:127, Twig_Error_Loader(代码:0):找不到模板 \"AppBundle:Components:videoElement.html.twig\"(调查: /srv/htdocs/vgms-core/app/Resources/views, /srv/htdocs/vgms-core/vendor/symfony/symfony/src/Symfony/Bridge/Twig/Resources/views/Form, /srv/htdocs/vgms-core/vendor/knplabs/knp-menu/src/Knp/Menu/Resources/views)。 在 /srv/htdocs/vgms-core/vendor/twig/twig/lib/Twig/Loader/Filesystem.php:232)"} []
模板存在并存在于
src/AppBundle/Resources/views/components/videoElement.html.twig.
我如何明确告诉 Symfony 在哪里寻找这个模板?
【问题讨论】:
-
AppBundle或app/Resources/views中的模板在哪里? -
谢谢,gp_sflover -- 成功了。我使用
@App/components/videoElement.html.twig访问了我的模板,这成功了。如果您想将此扩展为答案,我会将其标记为已接受。
标签: php symfony sonata-admin symfony-3.3