如何使用@Template() 引用多个树枝
How to reference multiple twigs with @Template()
我计划在 Symfony 3.0 上更新 运行 的应用程序。
以前用的是@Template(),但是更新的时候,必须在()中指定twig文件的根目录。
但是,您需要更改_format.
中index.csv.twig和index.html.twig的读法
有什么好的方法吗?
之前(Symfony 3.0)
/**
* @Route("/{_format}", defaults={"_format"="html"}, requirements={"_format"="html|csv"})
* @Method("GET")
*
* @Template()
*/
public function indexAction(Request $request)
{
if ($request->getRequestFormat() == 'html') {
} elseif ($request->getRequestFormat() == 'csv') {
$request->attributes->set('filename', 'post_article.csv');
}
之后 (Symfony 3.4 <)
/**
* @Route("/{_format}", defaults={"_format"="html"}, requirements={"_format"="html|csv"})
* @Method("GET")
*
* @Template("AppBudle:Hq/Post:index.html.twig")
*/
public function indexAction(Request $request)
{
if ($request->getRequestFormat() == 'html') {
} elseif ($request->getRequestFormat() == 'csv') {
$request->attributes->set('filename', 'post_article.csv');
}
<button type="submit" class="btn">
<i class="icon-download"></i>
<a class="a_btn" href="{{ path('app_hq_post_index', {'_format': 'csv'}) }}"> output</a>
</button>
可以直接使用$this->render代替@template
/**
* @Route("/{_format}", defaults={"_format"="html"}, requirements={"_format"="html|csv"})
* @Method("GET")
*
*/
public function indexAction(Request $request, $_format)
{
if ($request->getRequestFormat() == 'html') {
} elseif ($request->getRequestFormat() == 'csv') {
$request->attributes->set('filename', 'post_article.csv');
}
return $this->render(‘AppBudle:Hq/Post:index.´ . $_format . ´.twig’);
}
我计划在 Symfony 3.0 上更新 运行 的应用程序。
以前用的是@Template(),但是更新的时候,必须在()中指定twig文件的根目录。
但是,您需要更改_format.
中index.csv.twig和index.html.twig的读法
有什么好的方法吗?
之前(Symfony 3.0)
/**
* @Route("/{_format}", defaults={"_format"="html"}, requirements={"_format"="html|csv"})
* @Method("GET")
*
* @Template()
*/
public function indexAction(Request $request)
{
if ($request->getRequestFormat() == 'html') {
} elseif ($request->getRequestFormat() == 'csv') {
$request->attributes->set('filename', 'post_article.csv');
}
之后 (Symfony 3.4 <)
/**
* @Route("/{_format}", defaults={"_format"="html"}, requirements={"_format"="html|csv"})
* @Method("GET")
*
* @Template("AppBudle:Hq/Post:index.html.twig")
*/
public function indexAction(Request $request)
{
if ($request->getRequestFormat() == 'html') {
} elseif ($request->getRequestFormat() == 'csv') {
$request->attributes->set('filename', 'post_article.csv');
}
<button type="submit" class="btn">
<i class="icon-download"></i>
<a class="a_btn" href="{{ path('app_hq_post_index', {'_format': 'csv'}) }}"> output</a>
</button>
可以直接使用$this->render代替@template
/**
* @Route("/{_format}", defaults={"_format"="html"}, requirements={"_format"="html|csv"})
* @Method("GET")
*
*/
public function indexAction(Request $request, $_format)
{
if ($request->getRequestFormat() == 'html') {
} elseif ($request->getRequestFormat() == 'csv') {
$request->attributes->set('filename', 'post_article.csv');
}
return $this->render(‘AppBudle:Hq/Post:index.´ . $_format . ´.twig’);
}