1

我有这个功能CategoryBundle:CategoryTreeBuilderController

/**
 * Get subcategories based on $parent_id parameter
 *
 * @Route("/category/tree/{parent_id}", name="category_tree", options={"expose"=true})
 * @Method("GET")
 */
public function BuildCategoryTree($parent_id = null) {
    $em = $this->getDoctrine()->getManager();
    $entity = $em->getRepository('CategoryBundle:Category')->findBy(array("parent" => $parent_id));

    if (!$entity) {
        throw $this->createNotFoundException('Unable to find Category entity.');
    }

    return $this->render("CategoryBundle:Default:index.html.twig", array('entities' => $entity));
}

我需要从我的 Twig 模板递归调用这个函数,所以每次父母有孩子时都会发生一种缩进。我正在尝试实现 Tree 行为。我检查了这篇文章,但一点帮助都没有,任何人都可以指导我走上正确的道路吗?

4

1 回答 1

1

我认为最好在模板中创建一个并递归地遍历所有孩子。

无论如何,如果你想嵌入检查这篇文章。您可以简单地在模板中调用控制器

{% for entity in entities %}
    {{ render(controller('AcmeArticleBundle:Article:BuildCategoryTree', {
        'parent_id': entity.id
    })) }}
{% endfor %}
于 2013-08-12T17:31:51.860 回答