Передача аргумента контроллера в шаблон, symfony2

У меня есть такой маршрут:
индекс:

path:     /{category}
defaults: { _controller: AcmeDemoBundle:Index:index, category: "default" }
requirements:
categoria: "foo|bar|this|or|that"

и относительный контроллер:

<?php
namespace Acme\DemoBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class IndexController extends Controller
{
public function indexAction($category)
{
$data = array("Content1", "Content2");
return $this->render('AcmeDemoBundle:Default:index.html.twig', array('data' => $familiari));
}
}
?>

Что, если я хочу использовать значение, хранящееся в $ category внутри шаблона index.html.twig? Я попытался передать переменную категории с помощью функции рендера, но я получаю ошибку! Спасибо заранее!

0

Решение

Второй параметр render () — это массив параметров, к которым можно получить доступ в отрендеренном шаблоне. Так что если вы передадите $ category следующим образом:

  public function indexAction($category)
{
$data = array("Content1", "Content2");
return $this->render('AcmeDemoBundle:Default:index.html.twig',
array('data' => $familiari, 'category'=>$category));
}

Затем вы можете получить к нему доступ в шаблоне, используя:

{{ category }}
2

Другие решения

Других решений пока нет …