【发布时间】:2017-09-30 04:05:44
【问题描述】:
我在 app/Resources/homepage 中有一个模板 (homepage.html.twig)。
我正在尝试在 HomeController 类中呈现此模板。
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class HomeController extends Controller
{
/**
* @Route("/home", name="homepage")
* @return \Symfony\Component\HttpFoundation\Response
*/
public function homeAction()
{
return $this->render('homepage/homepage.html.twig');
}
}
这是模板的内容。
{% extends 'base.html.twig' %}
{% block body %}
<div class="container">
<div class="jumbotron">
<h1>Navbar example</h1>
<p>This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p>
<p>
<a class="btn btn-lg btn-primary" href=# role="button">View navbar docs »</a>
</p>
</div>
</div>
{% endblock %}
为什么渲染模板不起作用?
【问题讨论】:
-
Symfony 中的所有模板都必须位于 app/Resources/views 中,您必须将模板放在 app/Resources/views/homepage 中才能成功渲染
-
@paris93 ;我们还可以在我们的包文件夹中放置视图:“src/YourBundle/Resources/views”。
-
是的,确实如此,但是@Rumen 将模板直接放在了 Ressources 文件中,这将不起作用
标签: php symfony template-engine