2017-04-05 45 views
0

我正在使用symfony 3.2.4(使用控制台--version) 我正在使用openclassroom教程 控制器总是提前返回下面的错误。 不过,下面的文件,存在并且可以访问。symfony 3.2.4 ...无法找到模板“OCPlatformBundle:Advert:index.html.twig

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); 
    } 
} 

无法找到模板 “OCPlatformBundle:广告:index.html.twig” (看着:在/ var/www/html等/ symfony中/应用/资源/视图, 在/ var/www/html等/ symfony中/供应商/ symfony中/ symfony中/ src目录/ Symfony的/桥梁/嫩枝/资源/视图/表)。

*

+2

这几乎就像你bundle没有在'AppKernel'中注册,但这没有意义,不是吗? –

+0

不要忘记清理缓存! (树枝必须通过symfony编译为php并存放在缓存中) – goto

+0

是的注册和控制器正在工作,而它返回一个字符串响应,而不是渲染内容。我通过控制台清理缓存(这很好,因为我必须替换/ var/dev文件夹中的777),但是这不会改变任何....:/ – totofgo

回答

0

你尝试在app/Resources/views/Advert/index.html.twig创建模板?

这是一个更好的做法:Store all your application's templates in app/Resources/views/ directory.(从SF DOC)...

那么,你就可以通过这种方式 “呼” 是:

/***/ 
public function indexAction() 
{ 
    return $this->render('Advert/index.html.twig', []); 
} 
/***/