symfony 3.2.4。。。找不到模板";OCPlatformBundle:Advert:index.html.twig
我使用的是symfony 3.2.4(带有控制台——版本)。 我正在学习Open教室教程。 该控制器总是返回下面的错误。 尽管如此,下面的文件仍然存在,并且可以访问symfony 3.2.4。。。找不到模板";OCPlatformBundle:Advert:index.html.twig,symfony,templates,Symfony,Templates,我使用的是symfony 3.2.4(带有控制台——版本)。 我正在学习Open教室教程。 该控制器总是返回下面的错误。 尽管如此,下面的文件仍然存在,并且可以访问 src/OC/PlatformBundle/Resources/views/Advert/index.html.twig 我被它弄疯了。有人有主意吗 提前谢谢 <?php // src/OC/PlatformBundle/Controller/AdvertController.php namespace OC\Platform
src/OC/PlatformBundle/Resources/views/Advert/index.html.twig
我被它弄疯了。有人有主意吗
提前谢谢
<?php
// src/OC/PlatformBundle/Controller/AdvertController.php
namespace OC\PlatformBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
class AdvertController extends Controller
{
public function indexAction()
{
$content = $this->get('templating')->render('OCPlatformBundle:Advert:index.html.twig');
return new Response($content);
}
}
您是否尝试在app/Resources/views/Advert/index.html.twig
中创建模板
这是一个更好的实践:将所有应用程序的模板存储在app/Resources/views/directory中。
(来自SF doc)
因此,您可以通过以下方式“调用”它:
/***/
public function indexAction()
{
return $this->render('Advert/index.html.twig', []);
}
/***/
这几乎就像您的捆绑包没有在AppKernel
中注册一样,但这没有意义,不是吗?别忘了清理缓存!(细枝必须由symfony编译成php并放入缓存)是的,bubdle已注册,控制器正在工作,而它返回的是字符串响应,而不是呈现内容。我通过控制台清理缓存(这做得很好,因为我必须替换/var/dev文件夹上的777),但这并没有任何改变/