Я новичок в Symfony2 (со знаниями в 1.2-1.4) и без особых проблем пытаюсь извлечь некоторые объекты из БД.У меня есть базовый шаблон (index.html.twig), который имеет следующий блок кода:
<nav>
<ul class="menu">
<li><a class="active" href="index.html">Home Page</a></li>
{% for category in categories %}
<li><a href="{{ category.name }}">{{ category.name }}</a></li>
{% endfor %}
<li class="last-item"><a href="contacts.html">Contact Us</a></li>
</ul>
</nav>
Метод выбора категорий находится в DefaultController:
public function indexAction()
{
$em = $this->getDoctrine()->getEntityManager();
$categories = $em->getRepository('XxxYyyBundle:Category')->findAll();
$genres = $em->getRepository('XxxYyyBundle:Genre')->findAll();
echo $categories.$genres;
return array('categories' => $categories, 'genres' => $genres);
}
Если я получаю доступ к страницеиз По умолчанию это работает отлично, но если я пытаюсь получить доступ с другой страницы, которая расширяет шаблон (используя {% extends "XxxYyyBundle: По умолчанию: index.html.twig"%}), я получаю следующую ошибку:
Переменная «категории» не существует в XxxYyyBundle: По умолчанию: index.html.twig в строке 53
Я перепробовал все варианты, включенные в книгу (% включают и т. Д.), Тольковывод, что с других страниц indexAction () не выполняется.Я думаю, что получение элементов из БД для включения их в меню является чем-то обычным, поэтому, если кто-то знаком с этим вопросом, я буду очень благодарен за любую помощь.
Спасибо.