У меня есть такой маршрут:
индекс:
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? Я попытался передать переменную категории с помощью функции рендера, но я получаю ошибку! Спасибо заранее!
Второй параметр render () — это массив параметров, к которым можно получить доступ в отрендеренном шаблоне. Так что если вы передадите $ category следующим образом:
public function indexAction($category)
{
$data = array("Content1", "Content2");
return $this->render('AcmeDemoBundle:Default:index.html.twig',
array('data' => $familiari, 'category'=>$category));
}
Затем вы можете получить к нему доступ в шаблоне, используя:
{{ category }}
Других решений пока нет …